热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_52668597
踏过山河,踏过海
3 年前
trueweixin_52668597

面试题目!
class A {
public:
A(int x) {this->x = x; }
A() { this->x = 0; }
private:
int x;
};

class B1 : virtual public A {
public:
B1(int x):A(x){}
B1(){}
};


class C : public B1 {
public:
//C(int x):B1(x){} // B1(x) 不会被调用!最终只会去调用被虚拟继承的类A的默认构造函数A()
C(int x) :A(x) {}; // 直接调用被虚拟继承的类A的构造函数
};

//使用虚拟继承来做菱形继承时,类C对类B的构造函数调用不再起作用
//只能通过类C的构造函数中,直接指定调用类A的指定构造函数
//如果类C的构造函数,没有指定A的构造函数,就会导致调用类A的默认构造函数
int main(void) {
C c(100);
return 0;
}

@全体成员 用笔记记下来哦!

CSDN App 扫码分享
分享
评论
点赞
打赏
  • 复制链接
  • 举报
下一条:
上海,新能源汽车研究院1. 嵌入式软件(AutoSAR架构 应用层或底层)2. DSP数字电源软件3. 电源硬件4. BMS硬件5. 功率电子系统期望年薪不超过一百万,尽管聊
立即登录