C++11 委托构造

tech2022-08-29  121

#include<iostream> using namespace std; class Base { public:     int value1;     int value2;     //无参构造     Base()     {         value1 = 1;     }     //如果不写:Base(),那么我们只能对value1或者value2赋初值     Base(int value) :Base()//在执行这个有参构造函数时候,                             //顺带着把无参的构造函数也执行一下,委托Base()构造函数。                             //只能顺带构造一个,如果多余一个会报错     {         value2 = 2;     } }; //继承构造 class SubClass:public Base { public:     //可以直接使用父类的构造对value1和value2赋值。     using Base::Base; };

int main() {     SubClass s(1);     cout << s.value1 << endl;     cout << s.value2 << endl; }

最新回复(0)