我在头文件中有这个定义:
class Owner
{
private:
// Fields
Child* _myChild1;
public:
// Constructors
Owner();
Owner(const char childName[]);
};
Run Code Online (Sandbox Code Playgroud)
这个实现:
Owner::Owner(const char childName[])
{
//do some operations - children must be created after these ops
_myChild = new Child(childName);
}
Run Code Online (Sandbox Code Playgroud)
这个main()函数:
int main()
{
Owner("child1");
}
Run Code Online (Sandbox Code Playgroud)
有些问题,请在这里请耐心等待,我刚开始使用C++ ..
_myChild(childName);
Child _myChild(childName);
谢谢你的任何建议..
像这样:
class Owner
{
private: // Fields
Child _myChild1;
public: // Constructors
Owner();
Owner(const char childName[]);
};
Owner::Owner()
:_myChild1("Default Name")
{}
Owner::Owner(const char childName[])
:_myChild1(childName)
{}
// Without more info about what you are doing it is hard to tell
// But a trivial change could be
Owner::Owner()
// Child defautl constructor called here
{
// Do processing.
_myChild1.updateName(name);
}
Owner::Owner(const char childName[])
// Child defautl constructor called here
{
// Do processing.
_myChild1.updateName(std::string("X") + childName);
}
Run Code Online (Sandbox Code Playgroud)
问题是你需要在孩子面前做什么样的处理.
作为一方不是:
| 归档时间: |
|
| 查看次数: |
9475 次 |
| 最近记录: |