c++ - 被包含类的函数怎么访问包含类的成员或函数
巴扎黑
巴扎黑 2017-04-17 13:21:20
0
3
591
class A
{
    A();
    void func();
};

class B
{
    A a;
    int getX() {return x;}
private:
    int x;
};

请问怎么做才能让A的func()访问到x?
因为我想让a变量的func()访问x成员。

巴扎黑
巴扎黑

全員に返信(3)
伊谢尔伦

本来说想在A的func()里访问B的x的,但是后来发现可以在B加一个函数访问A的。
包含可以访问被包含,被包含不可以访问包含,一般应该是这样。

いいねを押す +0
迷茫

也是C++初学,把A声明为B的成员有其他用途么?如果没有直接把B声明为A的友元函数就可以通过A访问B的成员了,包括私有成员。

いいねを押す +0
迷茫

请问怎么做才能让A的func()访问到x? 因为我想让a变量的func()访问x成员。

请看《C++ Primer》7.2.1节和7.3.4节,关于友元(Friendship)的讲解。

class B
{
    friend void A::func();
    // . . .
};
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!