-
公有繼承 class A:public B 保護繼承 class A:protected B 私有繼承 class A:private B 公有繼承時基類中各成員屬性保持不變,基類中private成員被隱藏。 派生類的成員只能訪問基類中的public/protected成員,不能訪問private成員; 派生類的對象只能訪問基類中的public成員。 保護繼承時基類中各成員屬性均變為protected,且基類中private成員被隱藏。派生類的成員只能訪問基類中的public/protected成員,不能訪問private成員;派生類的對象不能訪問基類中的任何的成員。 私有繼承時基類中各成員屬性均變為private,且基類中private成員被隱藏。派生類的成員也只能訪問基類中的public/protected成員,不能訪問private成員 派生類的對象不能訪問基類中的任何的成員。查看全部
-
通過宏定義來解決重定義的問題 #ifndef 文件名 #define 文件名 #endif查看全部
-
可以在子類的初始化列表中將父類的構造函數初始化查看全部
-
虛析構函數查看全部
-
多個子類繼承同個父類是多繼承查看全部
-
多重繼承 類3繼承類2,類2繼承類1 class person{}; class soldier:public person{}; class bubing:public soldier{};查看全部
-
多繼承 class migrant:public worker,public farmer{};查看全部
-
#include <iostream> #include <stdlib.h> #include <string> using namespace std; /** * 定義人類: Person * 數據成員: m_strName * 成員函數: attack() */ class Person { public: string m_strName; void attack() { cout << "attack" << endl; } }; /** * 定義士兵類: Soldier * 士兵類公有繼承人類 * 數據成員: m_strName * 成員函數: attack() */ class Soldier:public Person { public: string m_strName; void attack() { cout << "fire!!!" << endl; } }; int main(void) { // 實例士兵對象 Soldier soldier; // 向士兵屬性賦值"tomato" soldier.m_strName = "tomato"; // 通過士兵對象向人類屬性賦值"Jim" soldier.Person::m_strName = "Jim"; // 打印士兵對象的屬性值 cout << soldier.m_strName << endl; // 通過士兵對象打印人類屬性值 cout << soldier.Person::m_strName << endl; // 調用士兵對象方法 soldier.attack(); // 通過士兵對象調用人類方法 soldier.Person::attack(); return 0; }查看全部
-
精辟,簡潔查看全部
-
父類只能調用父類的數據成員和成員函數查看全部
-
父子關系,成員同名,隱藏查看全部
-
子類的對象可以賦值給父類,也可以用父類的指針指向子類查看全部
-
私有繼承時父類的public和protected成員會被繼承到派生類的private下查看全部
-
公有繼承、私有繼承和保護繼承的形式查看全部
-
多重繼承就是連續單繼承,多繼承就是子類同時擁有多個父類 多繼承關系,默認private繼承查看全部
舉報
0/150
提交
取消