另一个类中的参数化对象初始化
parameterized object initialization in another class
我不确定我是否走在正确的轨道上。我需要在另一个类中初始化一个参数化对象,但不确定如何做到这一点。为了明确我的观点,代码片段是
class base
{
private:
bool data_present;
public:
/*base()
{
cout<<" base :default constructor called"<<endl;
data_present = false;
}*/
base(bool present )
{
data_present = present;
}
bool present()
{
return data_present;
}
};
class derived :public base
{
private:
int _value;
public:
/*derived()
{
cout<<" derived :default constructor called"<<endl;
}*/
derived(int value):base(1)
{
_value = value;
}
};
class test
{
public:
test(int data )
{
cout<<"test: parameter's constructor "<<endl;
}
derived return_data()
{
return d;
}
private:
derived d;
};
int main()
{
test t(100);
return 0;
}
我的意图是在测试构造函数中初始化派生的参数化构造函数,以便在_value中填充值100。有人能帮我吗。
您可以使用成员初始化列表来初始化具有指定构造函数的非静态成员变量,就像在类derived
的基类对象构造函数中所做的那样。
class test
{
public:
test(int data ) : d(data)
~~~~~~~~~
{
cout<<"test: parameter's constructor "<<endl;
}
derived return_data()
{
return d;
}
private:
derived d;
};
相关文章:
- 用C++中的CPerson(类)类型的对象初始化STL矢量
- 对象初始化中是否允许指向此成员的指针?
- 对象初始化后在C++中显示 char 数组时的异常行为
- 为什么两种不同的对象初始化方式给出不同的输出
- (2 问题)"类"类型重新定义(即使 #pragma 一次),以及静态函数内的静态成员对象初始化?
- afxmem.cpp中的对象初始化差异
- 删除通过取消引用新对象初始化的对象
- 如何使用sregex_token_iterator对象初始化向量
- 关于默认构造函数,对象初始化/使用C++ OOP
- C++ 基元类型初始化与对象初始化
- 哪个函数负责C++全局范围内的类对象初始化?
- C++中构造函数的对象初始化出现问题
- 如何修复模板 BST 类的对象初始化
- 无法在 QML/C++ 中使用绑定对象初始化 UI
- 为什么参数可以在对象初始化时通过赋值运算符传递给构造函数?
- 类对象初始化的二维向量
- GCC:当层次结构中存在虚拟继承时,C++11 内联对象初始化(使用 "this")不起作用
- 对象初始化
- 类对象初始化
- 使用从另一个类继承的类的对象初始化成员对象