64,646
社区成员
发帖
与我相关
我的任务
分享
void B::B(char *strB)
{
m_strB = strB;
a = A(strB); //A中需要重载=
}
//请问除了用参数初始化列表,还有其他方法吗?
void B::B(char *strB)
{
m_strB = strB;
a(strB); //这里这样是不对的,有其他方法吗?
}
//请问除了用参数初始化列表,还有其他方法吗?
B::B(char *strB)
{
m_strB = strB;
a(strB); //这里这样是不对的,有其他方法吗?
}
#include <iostream>
using namespace std;
class A
{
public:
A(char *strA):m_strA(strA){}
void displayA();
private:
char* m_strA;
} ;
void A::displayA()
{
cout <<m_strA <<endl;
}
class B
{
public:
B(char *strB):m_strB(strB),a(strB){}
private:
char *m_strB;
A a; //这里编译出错,因为实例化B类前m_strB没有分配内存,};
//若要达到这个目的,请问该如何实例化这个带参数的对象???
} ;
int main()
{
B b("测试");
// b.a.displayA(); //a是私有的哟
return 0;
}