C++的成员变量可以为引用吗?答案:是的!
代码如下:
#include <iostream>
using namespace std;
class A
{
public:
A(int s):_k(s){cout << "A constructor" << endl;}
~A(){cout << "A destructor" << endl;}
void print(){cout << _k << endl;}
void set(int val){_k = val;}
private:
int _k;
};
class B
{
public:
B(A &obj_a):_obj_a(obj_a){cout << "B constructor" << endl;}
~B(){cout << "B destructor" << endl;}
void print(){_obj_a.print();}
private:
A &_obj_a;//引用
};
int main()
{
A a(15);
B b(a);
b.print();
a.set(12);
b.print();
return 0;
}
例子如上,打印结果为:
用途:编写程序模块,当模块内部类有强关联时,这种编程技巧可以用到;