通过一个类给另一个类的成员赋值,怎么不成功?
求助,代码如下
#include <iostream>using namespace std;class A{private: int i;public: void setValue(int v) { i=v; } int getValue() { return i; }};class B{private: A a;public: A getA() { return a; }};int main(){ B b; b.getA().setValue(1); cout<<b.getA().getValue()<<endl; return 0;}public: A &getA() { return a; }
[解决办法]
class B{private: A a;public: A *getA() { return &a; }};int main(){ B b; b.getA()->setValue(1); cout<<b.getA()->getValue()<<endl; return 0;}