• 类的数据成员的 const、static等类型的声明和定义常识


     1 #include <iostream>
     2 #include<string>
     3 using std::cout;
     4 using std::endl;
     5 using std::string;
     6 
     7 class A
     8 {
     9 public:
    10 
    11     // (1)
    12     // 声明,定义(初始化)可以都在类定义体内;也可以仅在类定义体内声明,在类外部定义。
    13     // static const int 和 const static int 貌似是一样的。
    14     static const int a=1;
    15     const static int b=2;
    16     static const int c;
    17 
    18     // (2)
    19     // 单纯的const成员初始化方法只有一种,在构造函数后加":( )"并赋值。
    20     const int d;
    21 
    22     // (3)
    23     // 其他的static成员只能在类定义体内声明,在类外部定义。
    24     static const  string str1;
    25     static string str2;
    26 
    27     // (3)
    28     // 普通成员(非静态)的声明定义只能在类定义体内
    29     int e;
    30 
    31     A()
    32     :d(3)
    33     {
    34         e=4;
    35     }
    36 };
    37 
    38 // 定义、初始化 c
    39 const int A::c =1;
    40 
    41 //定义、初始化 str1和str2
    42 const string A::str1="101";
    43 string A::str2="101";
    44 
    45 int main()
    46 {
    47      A s;
    48      
    49      cout<<s.a<<endl;
    50      cout<<s.b<<endl;
    51      cout<<s.c<<endl;
    52      cout<<s.d<<endl;
    53      cout<<s.str1<<endl;
    54      cout<<s.str2<<endl;
    55 
    56      return 0;
    57 }

    补充一下:static成员,与类相关,与对象无关。

    **************************************************************
    我喜欢程序员,他们单纯、固执、容易体会到成就感;面对困难,能够不休不眠;面对压力,能够迎接挑战。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想,用智慧把属于自己的事业开创。其实我是一个程序员
    [=.=]
  • 相关阅读:
    How can i use iptables on centos 7?
    Running Jenkins behind Nginx
    GPG入门教程
    HTML5 canvas标签-4 灰度直方图的实现
    [转载]手把手用C++解密Chrome80版本数据库
    Delphi
    7-zip Delphi API
    cef对本地web资源打包加密
    CEF3资源重定向、读取加密资源、读取zip资源
    axios设置withCredentials导致“跨域”的解决方案
  • 原文地址:https://www.cnblogs.com/kevinGaoblog/p/2552445.html
Copyright © 2020-2023  润新知