C++ 嵌套类简单测试

class Dog
{
public:
    class Animal
    {
    public:
        Animal(Dog* dog)
        {
            m_Dog = dog;
            m_Age = 1;
            m_Name = dog->m_Info; // 可以访问宿主类对象
        }
        string m_Name;
        int getAge()
        {
            return m_Age;
        }
    private:
        Dog* m_Dog;
        int m_Age;
    };
public:
    Dog() :m_Info("哮天犬"), m_Animal(this)
    {
    }
    void showInfo()
    {
        cout << m_Animal.m_Name << endl;
        //cout << m_Animal.m_Age << endl; /*不可访问*/
        cout << m_Animal.getAge() << endl;
    }
private:
    string m_Info;
    Animal m_Animal;
};


int main()
{
    Dog dog;
    dog.showInfo();

    return 0;
}

输出:

哮天犬
1

内部类嵌套类可以访问外部宿主类的私有成员。

posted @   double64  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示