继承就是把父类中的元素给子类,子类可以扩张。
Python的继承是用括号
class Animal(object): //object是根类(父类)
C++使用冒号隔开
class obj
{
public:
string name;
int age;
};
class Student : obj
{
public:
int student_number;
void printname()
{
cin >> name; //private继承,在类中可用
cout << name << endl;
}
};
class Student : obj
这句话让Student类继承了obj类,但是这是隐式继承等同于class Student : private obj
,因为在类外访问不了父类成员,如果使用这个语句
#include <iostream>
#include <string>
using namespace std;
class obj
{
public:
string name;
int age;
};
class Student : obj
{
public:
int student_number;
void printname()
{
cin >> name; //private继承,在类中可用
cout << name << endl;
}
};
int main()
{
Student sss;
cin >> sss.name;//报错
cout << sss.name << endl;//报错
sss.printname();
return 0;
}
其中会报错,将继承部位改成public就可以在类外访问class Student : public obj
Qt就是这原理
我自定义的myWidget类,继承了QWidget类