好的,我有一個非常基本的問題,所以請對我輕鬆點。
在下面的代碼:爲什麼調用基構造函數?
#include<iostream>
class base
{
public:
base() { std::cout << "Base()" << std::endl; }
};
class derived: base {
public:
derived() { std::cout << "Derived()" << std::endl; }
};
int main() {
derived d;
}
輸出是:
基地()
派生()
我想知道爲什麼的構造base
儘管我正在創建derived
類的對象,但仍會調用類?我在FAQ
找不到合適的答案。
我首先閱讀[this](http://www.desy.de/gna/html/cc/Tutorial/tutorial.html)。 – Mehrdad 2011-04-10 18:22:36
構造函數的目的是使對象可用。如果你沒有調用基礎構造函數,那麼每個派生類都必須執行每個基類所需的每一個設置,以使對象可用......這與封裝等不兼容。 – forsvarir 2011-04-10 18:24:02