假设我们有一个两个班指向的返回值
class A
{
public:
Course (int num) ;
int getAnum();
int num;
}
A::A(int num)
{
this->num = num;
}
int A::getAnum()
{
return this->num;
}
,并在主
A* a = new A(12);
B* b = new B(a);
其他类
class B
{
public:
B (A * a = NULL);
A * getA();
A * a;
}
B::B(Course * a)
{
this->a = new A;
this->a = a;
}
A * B::getA() { return this->a; }
,问题是我怎么能打印号码
cout << b.getA->getAnum();
或
cout <<b.a->getAnum();
哪一个是正确的?我可以通过返回值指向另一个函数吗?这两个代码示例中会发生什么?为什么?请不要注意语法错误。对不合适的代码和糟糕的英语感到抱歉。谢谢你的回答:)
代码段中有多少个编译错误! – 2012-10-19 00:00:07
@Desolator:我数四。你有多少人? –
需要多长时间才能找出为什么b.getA() - > getAnum()是因为B对象默认构造为NULL A而导致分段错误?你不妨再仔细思考这个设计。 – WhozCraig