类的数据成员的 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成员,与类相关,与对象无关。
相关文章推荐
- C++ static、const和static const类型成员变量声明以及初始化
- C++ static、const和static const类型成员变量声明以及初始化
- C++ static、const和static const类型成员变量声明以及初始化
- 为什么C++类定义中,数据成员不能被指定为自身类型,但可以是指向自身类型的指针或引用?为什么在类体内可以定义将静态成员声明为其所属类的类型呢 ?
- 基本内置类型 声明与定义 static与entern const auto register volatile
- C++ static、const和static const类型成员变量声明以及初始化
- static数据成员与const数据成员的定义与初始化
- C++ static、const和static const类型成员变量声明以及初始化
- [置顶] C++ static、const和static const类型成员变量声明以及初始化
- 数据类型转换:static_cast,const_cast等用法(转载)
- 为什么C++类定义中,数据成员不能被指定为自身类型,但可以是指向自身类型的指针或引用?
- 数据类型转换:static_cast,const_cast等用法(转载)
- [学习笔记]c#Primer中文版-类设计、static成员、const和readonly数据成员
- 为什么C++类定义中,数据成员不能被指定为自身类型,但可以是指向自身类型的指针或引用?
- C++ 类静态数据成员除了要声明外,还要在类实现文件中进行定义。
- C++类中数据成员为类类型时,定义为对象还是定义为指针?
- C++类中const, static, reference等类型成员的初始化
- C++类的三种数据成员:常量(const)、静态(static)、普通 的赋值方式
- 关键字 extern static const, 声明和定义的区别
- 数据类型转换(static_cast, const_cast ,reinterpret_cast ,dynamic_cast )