class Base
{
public:
int value1;
int value2;
int value3;
//无参数构造
Base()
{
value1 = 1;
}
Base(float f)
{
value3 = f;
}
//在执行有参构造函数之前,先构造无参构造,只能委托构造一个
Base(int value) :Base() //委托构造Base(),Bas(int value) :Base(f)
{
value2 = 2;
}
};
//继承构造
class subclass :public Base
{
public:
subclass(int v)//无法调用到无参数构造函数
{
value1 = v;
};
//直接使用父类的构造
using Base::Base;//相当于把父类的构造函数继承了
// sub() === Base()
private:
};
//C++新特性 委托构造和继承构造
int main()
{
//委托构造类
Base b(2);
std::cout << b.value1 << std::endl;
std::cout << b.value2 << std::endl;
return 0;
}