繼承就是把父類中的元素給子類,子類可以擴張。
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類