#include <iostream>
#include <cstring>
using namespace std;
class claB{
public:
int sum;
// claA * pa;
claB(int tmp){sum=tmp;}
claB(claB& tmp){sum=tmp.sum;}//这里最好加const,否则下面只要不小心写了const,这个复制构造函数就没法被调用。
claB * getP(){return this;}
};
class claA {
public:
int age;
claB & pb;
//claA(int tmp, claB& p) {age=tmp; pb(p);}//必须写成初始化列表的形式,否则会报错。 [Error] uninitialized reference member 'claA::pb' [-fpermissive]
claA(int tmp, claB& p) : age(tmp), pb(p) {}
void peek(){ cout<<pb.sum;}
};
int main()
{
claB b(35);
claA a(12,b);
claB * pb=b.getP();
cout<<(*pb).sum;
cout<<b.sum;
return 0;
}