84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
class A { A(); void func(); }; class B { A a; int getX() {return x;} private: int x; };
请问怎么做才能让A的func()访问到x?因为我想让a变量的func()访问x成员。
本来说想在A的func()里访问B的x的,但是后来发现可以在B加一个函数访问A的。包含可以访问被包含,被包含不可以访问包含,一般应该是这样。
也是C++初学,把A声明为B的成员有其他用途么?如果没有直接把B声明为A的友元函数就可以通过A访问B的成员了,包括私有成员。
请问怎么做才能让A的func()访问到x? 因为我想让a变量的func()访问x成员。
请看《C++ Primer》7.2.1节和7.3.4节,关于友元(Friendship)的讲解。
class B { friend void A::func(); // . . . };
本来说想在A的func()里访问B的x的,但是后来发现可以在B加一个函数访问A的。
包含可以访问被包含,被包含不可以访问包含,一般应该是这样。
也是C++初学,把A声明为B的成员有其他用途么?如果没有直接把B声明为A的友元函数就可以通过A访问B的成员了,包括私有成员。
请看《C++ Primer》7.2.1节和7.3.4节,关于友元(Friendship)的讲解。