zoukankan      html  css  js  c++  java
  • C++ Primer 笔记——嵌套类 局部类

    1.嵌套类是一个独立的类,与外层类基本没什么关系。特别的是,外层类的对象和嵌套类的对象是相互独立的。在嵌套类的对象中不包含任何外层类定义的成员,在外层类的对象中也不包含任何嵌套类定义的成员。

    2.嵌套类在其外层类中定义了一个类型成员。和其他成员类似,该类型的访问权限由外层类决定。

    class external
    {
    public:
        int m_id;    // internal里无法使用这个变量
        class internal;
    };
    
    class external::internal
    {
    public:
        internal();
    };
    
    external::internal::internal()
    {
    }

    3.局部类定义的类型只在定义它的作用域内可见,局部类的所有成员都必须完整定义在类的内部。类似的,在局部类中也不允许声明静态数据成员,因为我们没法定义这样的成员。

    4.局部类对外层作用域中的名字的访问权限收到很多限制,局部类只能访问外层作用域定义的类型名,静态变量以及枚举成员。如果局部类定义在某个函数内部,则该函数的普通局部变量不能被该局部类使用。

    namespace A 
    {
        int i;
        class partical
        {
        public:
            partical() { i = 0; }    // 正确
        };
    }
    
    void test()
    {
        int i;
        class partical
        {
        public:
            partical() { i = 0; }    // 错误
        };
    }


     

  • 相关阅读:
    用SQL实现的一个自动排课机制
    如何读懂复杂的C声明
    Mingw32配置
    test
    HttpSession API
    java程序逻辑控制
    方法的定义及使用
    memcached 安装及集成(转)
    cookie和session的的区别以及使用示例?
    构造方法和普通方法的区别?
  • 原文地址:https://www.cnblogs.com/zoneofmine/p/7466697.html
Copyright © 2011-2022 走看看