我想在m_fooClass A的构造函数中调用Class 成员的构造函数A.用它来调用它是不是很麻烦m_foo = new Foo()?或者我可以在没有把它放在堆上的情况下调用它吗?我想传递一个256字节数组的指针,以便Foo对象用指针指向的数据填充其成员数组.但是,我如何调用我在头文件中声明的成员变量的构造函数?
A.hpp
class A{
public
A();
private:
Foo m_foo;
};
Run Code Online (Sandbox Code Playgroud)
A.cpp
A::A()
{
//How to call constructor of class Foo here?
}
Run Code Online (Sandbox Code Playgroud)
Foo.hpp
class Foo()
{
Foo(char* p)
{
memcpy(m_Array, p, sizeof(m_Array)/sizeof(m_Array[0]));
}
private:
char m_Array[256];
};
Run Code Online (Sandbox Code Playgroud)
使用A构造函数的成员初始化列表:
A::A() : m_foo(...)
{
}
Run Code Online (Sandbox Code Playgroud)
您可以从以下内容获得char*所需的构建m_foo:
A 构造函数:
A::A(char* p) : m_foo(p) {}
Run Code Online (Sandbox Code Playgroud)
或另一个功能:
A::A() : m_foo(GetBuffer()) {}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
151 次 |
| 最近记录: |