84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
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)的讲解。