c++ , const对象中的变量不能被修改

时间:2023-02-08 08:05:30

const对象中的变量不能被修改,即使const对象中的函数也不能修改该对象中的变量值

#include <iostream>
using namespace std; //-----------------------------------------------
class Test {
public:
int x;
Test();
void change(int a);
}; Test::Test() {
this->x = ;
}
void Test::change(int a )
{
this->x=a;
}
//----------------------------------------------- void f1() {
Test t1;
t1.x = ;
cout<<"t1.x="<<t1.x<<endl;
t1.change();
cout<<"t1.x="<<t1.x<<endl; const Test t2;
cout<<"t2.x="<<t2.x<<endl; //const对象中的变量不能被修改,即使const对象中的函数也不能修改该对象中的变量值。
//g++ : error: assignment of data-member ‘Test::y’ in read-only structure
//t2.x = 10;//vs2010可以编译通过,但执行不会改变t2.x的值
//cout<<"t2.x="<<t2.x<<endl;   //t2.change(2222);//error C2662: “Test::change”: 不能将“this”指针从“const Test”转换为“Test &” } int main() {
f1();
while();
return ;
}

c++ , const对象中的变量不能被修改的更多相关文章

  1. C语言const是如何保证变量不被修改的&quest;

    这小段文章要理清楚的是,在C语言中,$const$是如何保证变量不被修改的? 我们可以想到两种方式: 第一种,由编译器来阻止修改$const$变量的语句,让这种程序不能通过编译: 第二种,由操作系统来 ...

  2. json对象中的变量存在空格的取值办法

    写一个json对象,但需求需要是带空格的键,定义的话很容易定义,只需要双引号引起来即可,但取值的时候怎么取,直接写 会报错,所以就有了下边的办法 <el-form-item label=&quo ...

  3. 不可或缺 Windows Native &lpar;18&rpar; - C&plus;&plus;&colon; this 指针&comma; 对象数组&comma; 对象和指针&comma; const 对象&comma; const 指针和指向 const 对象的指针&comma; const 对象的引用

    [源码下载] 不可或缺 Windows Native (18) - C++: this 指针, 对象数组, 对象和指针, const 对象,  const 指针和指向 const 对象的指针, con ...

  4. 12&period;C&plus;&plus;-构造函数与析构函数调用顺序&comma;const成员函数&comma;const对象

    单个对象创建时,构造函数的调用顺序 1.首先判断该对象的类是否拥有父类,若有则先调用父类的构造函数 2.判断该对象的成员是否是其它类的成员,若是则调用成员变量的构造函数(调用顺序和声明顺序相同) 3. ...

  5. 【react】利用prop-types第三方库对组件的props中的变量进行类型检测

    1.引言--JavaScript就是一个熊孩子   1.1对于JSer们来说,js是*的,但同时又有许多让人烦恼的地方.javascript很多时候就是这么一个熊孩子,他很多时候并不会像C和java ...

  6. 一篇文章带你了解JavaScript中的变量,作用域和内存问题

    1 在JavaScript中的变量分别区分为两种: 一种为基本类型值,一种为应用类型值. 基本类型值指的是简单的数据段 引用类型值为可能由多个值组成的对象 引用类型的值是保存在内存中的对象,JavaS ...

  7. sed中传递变量进行替换

    sed命令中传递变量 例如:修改配置文件某一个变量的值 配置文件如下: toney@ubantu:/mnt/hgfs/em嵌入式学习记录/shell/shell脚本常见用法$ cat common_u ...

  8. c&plus;&plus;中的const参数,const变量,const指针,const对象,以及const成员函数

    const 是constant 的缩写,“恒定不变”的意思.被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性.所以很多C++程序设计书籍建议:“Use const whe ...

  9. 第24课经典问题(中)-----关于const对象的疑问

    关于const对象的疑问const关键字能否修饰类的对象?如果可以,有什么特性?const关键字能够修饰对象const修饰的对象为只读对象只读对象的成员变量不允许被改变.(对象是只读的,成员变量不允许 ...

随机推荐

  1. 2016 Multi-University Training Contest 1

    8/11 2016 Multi-University Training Contest 1 官方题解 老年选手历险记 最小生成树+线性期望 A Abandoned country(BH) 题意: 1. ...

  2. Law of total probability

    https://en.wikipedia.org/wiki/Law_of_total_probability the total probability of an outcome which can ...

  3. 2013 ACM-ICPC长沙赛区全国邀请赛——A So Easy&excl;

    这题在比赛的时候不知道怎么做,后来看了别人的解题报告,才知道公式sn=(a+sqrt(b))^n+(a-sqrt(b))^n; 具体推导 #include<iostream> #inclu ...

  4. 引号 shell

    在学些shell的 grep, awk, sed 中,发现<Linux 与Unix Shell 编程 指南>书中用大多都是单引号. 一开始我总在寻思,为什么用单引号,明明双引号也是行的呀. ...

  5. python 如何读取大文件

    一般的读取文件的方法: with open(file_path, "r") as f: print f.read() 或者 with open(file_path,"r& ...

  6. SqlServer转换为Mysql

    昨天顺利把MySQL成功安装后,正准备着手把原来项目中的SQL SERVER数据库改为MYSQL数据库,可大量的表结构和表数据如要手动写,那就...... 接下来就是各种百度.谷歌.问先驱等,可得到的 ...

  7. 任务调度利器:Celery

    http://www.liaoxuefeng.com/article/00137760323922531a8582c08814fb09e9930cede45e3cc000 Celery是Python开 ...

  8. 心智与认知&lpar;1&rpar;&colon; 反馈循环&lpar;Feedback loop&rpar;

    目录: ** 0x01 反馈循环(Feedback loop) | How to see System in everyday life ** 0x02 如何像视频游戏一样剖析你的人生?| 打怪升级这 ...

  9. tomcat&colon; 类加载器

    一.tomcat是个web容器,要解决以下问题 1. 一个web容器可能要部署两个或者多个应用程序,不同的应用程序,可能会依赖同一个第三方类库的不同版本,因此要保证每一个应用程序的类库都是独立.相互隔 ...

  10. html5(三)

    body{ text-align:center;} #mainbox { display:block; width:500px; margin:50px auto; padding:15px; tex ...