构造函数在另一个类中的工作方式

问题描述 投票:-1回答:1

这里是在另一个类中使用静态类对象以及范围重新分配运算符,现在我不确定是静态对象还是范围解析运算符是来自其他类的构造函数也被调用的原因。代码是:

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函数是否实际上在做什么?

c++ inheritance constructor static default-constructor
1个回答
1
投票

[在类A中定义另一个构造函数,即复制构造函数。例如

© www.soinside.com 2019 - 2024. All rights reserved.