• 类的静态成员


    在实际中遇到如下问题:

    class CC {
    #pragma region Method
    public:
    	static void Method1();
    private:
    	static void Method2();
    
    #pragma endregion Method
    
    #pragma region Property
    
    	static int p1= 3;
    	static int p2;
    	static short p3[...][...];
    	
    #pragma endregion Property
    };
    

    编译后出现error1:p1变量必须为常量才可以在类内部初始化。变量分为声明和定义。对

    于类的静态成员声明和定义必须分离,即在类的内部声明但是必须在类的外部进行这也不

    是绝对的,就像错误提示告诉我们,当一个静态成员为常量时则可以在类的内部完成声明

    与定义的工作。

    ...
    static const int p1 = 3;
    ...

    同理p2变量需要在类的外部进行定义。p3静态数组成员或是指针也要在类的外部进行定义。

    Type Class::PropertyName
    在这里如下
    int CC::p2 = 3;
    short CC::p3[][];

    最后记住静态成员是在类的范围内共享的,而独立与类的实例。

  • 相关阅读:
    8.8集训
    8.7集训
    8.6集训
    poj 2492
    埃氏筛法
    并查集板子
    2018级程序能力实训第二次上机考试
    网络流
    活动安排问题
    等价类
  • 原文地址:https://www.cnblogs.com/wxfasdic/p/1705661.html
Copyright © 2020-2023  润新知