这里是在另一个类中使用静态类对象以及范围重新分配运算符,现在我不确定是静态对象还是范围解析运算符是来自其他类的构造函数也被调用的原因。代码是:
class A
{
public:
A()
{
cout<<"A's constructor"<<endl;
}
};
class B
{
static A a;
public:
B()
{
cout<<"B's constructor";
}
static A get()
{
return a;
}
};
A B :: a;
因此连同主要部分
int main()
{
B b;
A a1=b.get();
A a2=b.get();
A a3=b.get();
}
这是输出:
A's constructor
B's constructor
另一个查询是get函数是否实际上在做什么?
[在类A中定义另一个构造函数,即复制构造函数。例如