【面试题】C++类中const成员的赋值方法
2014-01-06 10:44
246 查看
方法一:用参数初始化表对 const 数据成员初始化
方法二:将 const 变量声明为静态成员变量,在类外赋值。
备注:
1. 常量成员函数只能访问常量成员
2. 常量对象只能访问只能访问常量成员函数
class CTestA { public: CTestA():m_iSIZE(20) {} // method 1 CTestA(int i); ~CTestA() {} private: const int m_iSIZE; }; // 或者通过某个变量赋值 CTestA::CTestA(int i):m_iSIZE(i) {}
方法二:将 const 变量声明为静态成员变量,在类外赋值。
class CTestB { public: CTestB() {} ~CTestB() {} private: static const int m_iSIZE; }; const int CTestB::m_iSIZE = 3; // method 2,注意static在类外声明时不需要
备注:
1. 常量成员函数只能访问常量成员
2. 常量对象只能访问只能访问常量成员函数
相关文章推荐
- C++类的三种数据成员:常量(const)、静态(static)、普通 的赋值方式
- C++类的三种数据成员:常量(const)、静态(static)、普通 的赋值方式
- C++类中各种不同类型成员根据是否static 、是否const类型的初始化方法不尽相同,写代码时经常搞乱,网上搜了一下资料,全部总结一下。一、例子 [cpp] view plaincopy ---
- 关于访问C++类对象中私有成员变量的方法,不考虑用友元
- java中方法是否属于类成员?面试题
- 用const方法更改非mutable成员
- 把C++类成员方法直接作为线程回调函数
- static成员与const方法(十五)
- c++类的成员函数存储方式(是否属于类的对象)---一道面试题引发的思考
- (转)c++类的成员函数存储方式(是否属于类的对象)---一道面试题引发的思考
- 访问C++类对象中私有成员变量的方法
- C++类成员冒号初始化以及构造函数内赋值
- C++ 成员变量为引用类型和const类型,如何赋值
- 把C++类成员方法直接作为线程回调函数
- java final修饰成员变量赋值的二种方法
- C++类中const成员小结
- C++类成员冒号初始化以及构造函数内赋值
- 通过反射,如何操作私有成员变量(取/赋值),如何调用私有方法?
- 成员函数中const使用方法小结(一)
- c++类中对数据成员进行初始化和赋值的区别