c++ 类中const成员变量的赋值
来源:互联网 发布:旋转矩阵 姿态解算 编辑:程序博客网 时间:2024/05/16 03:59
本文转自:http://hi.baidu.com/msingle/blog/item/840b4c7a57a045e42e73b355.html
在头文件的类的定义中定义了一个const成员变量c++ 规则:
1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能赋值的。
2、const 定义的变量是不能赋值
这可如何是好,声明中不能赋值,声明完还不能赋值。又不能不赋值。
解决方案:
1、在构造函数后的参数初始化列表中初始化
2、将const变量同时声明为 static 类型进行初始化。
Eg:
/*
* @FileName: const.cpp
* @Author : msingle
* @Date : 2010年10月21日
* @Describe: test const init
* @Modify :
*/
#include <iostream>
class CTestA
{
public:
CTestA():m_iSIZE(20) // method 1
{
}
~CTestA()
{
}
int GetSize()
{
return m_iSIZE;
}
private:
const int m_iSIZE;
};
class CTestB
{
public:
CTestB()
{
}
~CTestB()
{
}
int GetSize()
{
return m_iSIZE;
}
private:
static const int m_iSIZE;
};
const int CTestB::m_iSIZE = 3; // method 2,注意static在类外声明时不用要
int main()
{
CTestA oTestA;
CTestB oTestB;
std::cout<<"oTestA:"<<oTestA.GetSize()
<<std::endl<<"oTestB:"<<oTestB.GetSize()<<std::endl;
return 0;
}
- C++ 类中const成员变量的赋值
- c++ 类中const成员变量的赋值
- c++ 类中const成员变量的赋值
- c++ 类中const成员变量的赋值
- c++ 类中const成员变量的赋值
- c++中const成员变量赋值问题
- 【面试题】C++类中const成员的赋值方法
- 浅谈C++中类的const成员变量,static成员变量和const static成员变量的区别
- 含const型成员变量的类的赋值构造函数
- 含const型成员变量的类的赋值构造函数
- c++ const函数中修改类的成员变量
- static const 类中 成员变量的问题
- 类中静态变量与const常量成员的初始化
- 类中静态变量与const常量成员的初始化
- C++中const成员变量的初始化
- C++中static const类成员变量
- java类中声明的立即赋值的成员变量,真的立即赋值了吗?
- c语言中const 类型变量地址赋值给指针。
- 设置SQL Server数据库中某些表为只读的多种方法
- 网络编程
- 自己新建xib文件后报NSInternalInconsistencyException异常
- Error:A1163E:UNknow opcode
- 时刻提醒keep moving……
- c++ 类中const成员变量的赋值
- ulipad图标异常--更换程序图标
- request.getAttribute() 和 request.getParameter() 有何区别?
- 分享一个简单的资源管理器程序,主要是演示下LINQ在C#开发中的运用
- C++中static技术探索
- achartengine之饼图----简单用法
- 正则表达式30分钟入门教程
- C/C++数组名与指针区别深入探索
- 编程珠玑(2)第五章 学习笔记