C++中類繼承機制

繼承就是把父類中的元素給子類,子類可以擴張。

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類

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章