您的位置:首页 > 其它

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

2012-06-17 10:47 281 查看
#include <iostream>
#include<string>
using std::cout;
using std::endl;
using std::string;

class A
{
public:

// (1)
// 声明,定义(初始化)可以都在类定义体内;也可以仅在类定义体内声明,在类外部定义。
// static const int 和 const static int 貌似是一样的。
static const int a=1;
const static int b=2;
static const int c;

// (2)
// 单纯的const成员初始化方法只有一种,在构造函数后加":( )"并赋值。
const int d;

// (3)
// 其他的static成员只能在类定义体内声明,在类外部定义。
static const  string str1;
static string str2;

// (3)
// 普通成员(非静态)的声明定义只能在类定义体内
int e;

A()
:d(3)
{
e=4;
}
};

// 定义、初始化 c
const int A::c =1;

//定义、初始化 str1和str2
const string A::str1="101";
string A::str2="101";

int main()
{
A s;

cout<<s.a<<endl;
cout<<s.b<<endl;
cout<<s.c<<endl;
cout<<s.d<<endl;
cout<<s.str1<<endl;
cout<<s.str2<<endl;

return 0;
}


补充一下:static成员,与类相关,与对象无关。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐