我在搞C++中的繼承,想知道是否有人對它的功能有任何洞見。下面在C++中的繼承
#include <iostream>
using namespace std;
class AA {
int aa;
public:
AA() {cout<<"AA born"<<endl;}
~AA(){cout<<"AA killed"<<endl;}
virtual void print(){ cout<<"I am AA"<<endl;}
};
class BB : public AA{
int bb;
public:
BB() {cout<<"BB born"<<endl;}
~BB() {cout<<"BB killed"<<endl;}
void print() {cout<<"I am BB"<<endl;}
};
class CC: public BB{
int cc;
public:
CC() {cout<<"CC born"<<endl;}
~CC(){cout<<"CC killed"<<endl;}
void print() {cout<<"I am CC"<<endl;}
};
int main()
{
AA a;
BB b;
CC c;
a.print();
b.print();
c.print();
return 0;
}
代碼,所以我明白,當你繼承你的東西繼承構造函數和析構函數。所以當我這樣做時,「BB b」打印出「AA生」。所以,問題我有
- 是AA的實例創建
- 如果有,是什麼叫我怎麼可以參考呢?
- 如果沒有,爲什麼被稱爲構造
「是的創建實例」 - 我假定你的意思'AA'? – Flexo
是的,我確實,謝謝我修復它。 – noob
所以一個後續問題,如果AA有一個私有成員/函數,b.AA :: privatefunction()是否有效? – noob