C++ const
来源:互联网 发布:淘宝有多少分可以扣 编辑:程序博客网 时间:2024/06/06 21:41
C++的const用的比较多,所以总结一下。不多说,看下面的例子:
#include "stdafx.h"
#include <stdlib.h>
#include <iostream>
using namespace std;
class ConstClass{
public:
ConstClass():m_cons(1),m_p2(&m_iNum){ m_iNum = 0;}
const void value1(){ m_iNum ++;}
const void value2(){ ++ m_iNum;}
int getvalue1()const{ return m_cons; }
const int getvalue2()const{ return m_iNum; }
void setValue(const int* nCons){m_iNum = *nCons;}
public:
const int m_cons;
int m_iNum;
const int* m_p1;
int* const m_p2;
};
int _tmain(int argc, _TCHAR* argv[])
{
ConstClass* con = new ConstClass();
if ( con )
{
con->value1();
cout << "m_iNum:" << con->m_iNum << endl;
con->value2();
cout << "m_iNum:" << con->m_iNum << endl;
cout << "m_cons:" << con->m_cons << endl;
const int num = con->getvalue2();
cout << "con->getvalue2():" << num << endl;
int val = 10;
con->setValue(&val);
cout << "con->setValue():" << con->m_iNum << endl;
con->m_p1 = &val;
*(con->m_p2) = 111;
cout << "con->m_iNum" << con->m_iNum << endl;
delete con;
}
system("pause");
return 0;
}
一、
const int m_cons; // m_cons不可以改变其值
const int* m_p1; // *m_p1为const不可改变值但可以改变m_p1
int* const m_p2; // m_p2为const不可以改变其值,*m_p2可以改变
二、 类中定义的const变量要在类的构造函数中对其初始化,方式如:
ConstClass():m_cons(1),m_p2(&m_iNum){ m_iNum = 0;}
三、
int getvalue1()const{ return m_cons; } // 后面加const,则函数getvalue1不可以改变类中的数据。
四、
onst int getvalue2()const{ return m_iNum; } // 第一个const没用,因为是返回值;第二个const的作用也是函数getvalue2不可以改变类中的数据。
五、程序运行结果:
- const c
- const【C++】
- const ||c
- C++Const
- [c++]const
- C++:const
- const用法(C/C++)
- C++/C const问题
- 【c/c++】const引用
- readonly vs. const [C#]
- C++(二)const
- C语言const介绍
- C语言const介绍
- readonly vs. const [C#]
- readonly vs. const [C#]
- c++:const 操作小结
- readonly vs. const [C#]
- C中的CONST
- hdu 5068 Harry And Math Teacher(BestCoder Round #14)
- SPOJ_AMR10I_Dividing Stones(DFS)
- visual Assist X 免费下载网址
- 飞鸽传书源码分析二消息机制
- codecomb 2098【stone】
- C++ const
- Ubuntu13.04(64bit)下用Wine安装百度云、360云、微云
- 对 熊大快跑Ver2.0.4 和支付的分析
- PAT(A) 1019
- 移动应用商城(MM)内购破解的关键点
- NandFlash驱动超详细分析
- shell 条件控制,循环
- 用QMediaPlayer实现MP3音乐播放器
- 去除小黄人快跑ver2.6.5签名校验的过程