关于C++的:定义一个基类A,派生类B(class B:public class A )。类B中有

2025-01-06 01:38:05
推荐回答(4个)
回答1:

第一个调用A的默认拷贝函数,第二个是赋值,把B赋值给A,在此之前,A已经经历了一次初始化了。所以这里是赋值

回答2:

 class A
 {
 public:
     A() = default;
     A(const A& a) = default; //等价于注释掉的下句
     //A(const A& a){this->a = a.a};
 private:
     int a;
 }
 
 class B:public A

 {

 public:

     B() = default;

     B(const B& b):A(b) //A(b)调用基类复制构造,下面不用再写this->a = b.a了
     { 
         this->b = b.b;
     }
 private:

     int b;

 }

回答3:

class B(B&b1):A(b1) 调用了父类的构造函数

回答4:

后者试图把B类对象的引用给类A的构造函数