在這個程序中,「A的構造函數名爲」打印了2次。我的疑問是,爲什麼「即A的構造」不與爲什麼構造函數沒有被調用
A b = B::getA();
印刷而得到印有
A a;
在這兩種情況下,我們正在創造一個新的對象。
這是我的計劃:
#include <iostream>
using namespace std;
class A
{
public:
A() { cout << "A's constructor called " << endl; }
};
class B
{
static A a;
public:
B() { cout << "B's constructor called " << endl; }
static A getA() { return a; }
};
A B::a; // definition of a
int main()
{
A a;
A b = B::getA();
return 0;
}