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