C++三大继承与多级派生
生活随笔
收集整理的這篇文章主要介紹了
C++三大继承与多级派生
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++公用繼承
1.1在定義一個派生類時把派生方式指定為public的,稱為公用繼承,派生類稱為公用派生類,基類稱為公用派生類。 1.2關于公用繼承的一段代碼: #include <iostream> using namespace std; class student { public: void display(); void setValue(int number,int age,char* name); private: int number; int age; char* name; }; class student1:public student { public: void display_1(){display();cout << "sex is " << sex << endl;} private: bool sex; }; void student::setValue(int number,int age,char* name) { this->number=number; this->age=age; this->name=name; } void student::display() { cout << "number is " << number << endl; cout << "name is " << name << endl; cout << "age is " << age << endl; } int main() { student1 stu; stu.setValue(1,18,"shukai"); stu.display_1(); return 0; }C++私有繼承
1.1在定義一個派生類時將基類的繼承方式指定為private的,稱為私有繼承,派生類叫私有派生類,基類叫私有基類。1.2不能通過派生類對象引用由私有基類繼承過來的任何成員。 1.3派生類的成員函數不能訪問私有基類的私有成員,但可以訪問私有基類的公用成員和保護成員。
C++保護繼承
1.1在定義一個派生類時將基類的繼承方式指定為protected的,稱為保護繼承,派生類叫保護派生類,基類叫保護基類。1.2保護繼承的特點是:保護基類的公用成員和保護成員在派生類中都成了保護成員,其私有成員仍為基類私有。
C++多級派生時的訪問屬性
1.1 A < B < C 類B是類A的派生類,類C是類B的派生類。類B稱為類A的直接派生類,類C稱為類A的間接派生類。類A是類B的直接基類,是類C的間接基類。1.2如果在多級派生時都采用公用繼承方式,那么直到最后一級派生類都能訪問基類的公用成員和保護成員,如果采用私有繼承的方式,在經過若干次派生之后,基類的成員已經變成不可訪問的了,如果采用保護繼承的方式,在派生類外是無法訪問派生類中的成員的。而且經過若干次派生后,人們很難清楚的記住哪些成員可以訪問,哪些成員不可以訪問,常常出錯。因此,在實際中,往往用的是公用繼承。
總結
以上是生活随笔為你收集整理的C++三大继承与多级派生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipemaven本地仓库依赖_只用
- 下一篇: php请求api获取返回值,我用curl