#include<iostream>
using namespace std;
class base {
public:
base() {
cout<<"Constructing base \n";
}
virtual ~base() {
cout<<"Destructing base \n";
}
};
class derived: public base {
public:
derived() {
cout<<"Constructing derived \n";
}
~derived() {
cout<<"Destructing derived \n";
}
};
int main(void) {
derived d();
return 0;
}
爲什麼在這個程序中它不是調用構造函數?C++構造函數不調用
任何人都可以解釋嗎?
.......
請意圖您的代碼正確。 – billz
你應該在derived()中調用base()ctor。 derived():base(){cout <<「構造派生」; } – bkausbk
呃...最令人頭疼的解析了。 –