欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

c++ 类中const成员变量的赋值方法

时间:2021-03-12 09:57:24|栏目:C代码|点击:

在头文件的类的定义中定义了一个const成员变量c++ 规则:

1、类定义中不能进行初始化,因为头文件中类的定义只是一个声明,并没有分配真正空间,因此变量是不存在的,因此是不能赋值的。

2、const 定义的变量是不能赋值

这可如何是好,声明中不能赋值,声明完还不能赋值。又不能不赋值。

解决方案:

1、在构造函数后的参数初始化列表中初始化

2、将const变量同时声明为 static 类型进行初始化。

Eg:

#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

int main()
{
CTestA oTestA;
CTestB oTestB;

std::cout<<"oTestA:"<<oTestA.GetSize()<<std::endl<<"oTestB:"<<oTestB.GetSize()<<std::endl;
return 0;
}

上一篇:浅谈C语言=与==的区别详解

栏    目:C代码

下一篇:C++中实现把表的数据导出到EXCEL并打印实例代码

本文标题:c++ 类中const成员变量的赋值方法

本文地址:http://www.codeinn.net/misctech/79541.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有