C++ 类中的const关键字
//类中的const关键字
#include<iostream>
using namespace std; class Point{
public:
//这个const关键字本质上修饰的是this指针
int GetX() const //====>int GetX(const this)
{
//因为this被隐藏,所以const关键字只好写在函数后面
//x++;
//加上const关键字 报错 error C3490: 由于正在通过常量对象访问“x”,因此无法对其进行修改
//这个用法一般用在取私有成员属性的函数里,这样的函数一般不允许修改成员属性,
//所以可以加上const关键字增加安全性
return x;
}
private:
int x;
int y;
}; void main(){
system("pause");
}
C++ 类中的const关键字的更多相关文章
- C++ —— 非类中使用const定义常量的初始化,以及#define和typedef的区别
总结一下在非类中使用const关键字定义常量时的初始化问题,亲测VS2015.顺便记录#define宏和typedef的区别. 1 首先对const声明的常量的初始化做简单小结: , w2 = , w ...
- C++中的const关键字
http://blog.csdn.net/eric_jo/article/details/4138548 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方 ...
- 【c++】类中的const成员
const成员变量 举个例子 #include <iostream> using namespace std; class A { public: A(int size) : SIZE(s ...
- c++中的 const 关键字
知识回顾:C语言中 const const 修饰的变量是 只读的,本质上还是变量:(只读变量:可以通过指针修改只读变量中的值) const 修饰的局部变量在栈上分配空间: const 修饰的全局变量在 ...
- C++类中的Static关键字
静态成员是可以独立访问的,也就是说,无须创建任何对象实例就可以访问,而静态成员函数可不建立对象就可以被使用. 或者说静态函数与一般函数没有太大的区别,只是访问有限制,静态变量跟一般的全局变量的区别 ...
- 面向对象的static关键字(类中的static关键字)
转自:http://blog.csdn.net/xiayefanxing/article/details/7382192 http://www.cnblogs.com/SelaSelah/archiv ...
- C++类中的Static关键字二
静态成员是可以独立访问的,也就是说,无须创建任何对象实例就可以访问,而静态成员函数可不建立对象就可以被使用. 或者说静态函数与一般函数没有太大的区别,只是访问有限制,静态变量跟一般的全局变量的区别 ...
- C++中的const关键字学习笔记
一.const引用 1. 例子一 #include <iostream> using namespace std; class sp { public: sp() {cout<< ...
- C++中的const关键字的用法
1.const用于修饰普通变量,表示常量,不建议修改,某种程度上不允许修改(其实也是可以修改的) 指针常量 :指针(指向的变量的值)自身是一个常量,说明不能改变自身的指向 int* const p= ...
随机推荐
- PHP phpMyadmin数据库备份太大无法导入怎么
1 如图所示,phpMyAdmin的数据库最大只能8M,大于这个体积就无法导入 2 你可以从以下网站下载这个软件Navicat for MySQL, http://www.pb86.net/soft/ ...
- oracle中database links的使用
1.在pl/sql developer中创建database links 2.使用database links select * from table1@xtbg 注意:@xtbg是database ...
- Unity WP8开发环境
Unity WP8开发环境 VS2012旗舰版: 安装WP SDK8.0出错提示: 根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内 解决办法: 方法一:把操作系统的时间日期调整到 ...
- 算法笔记_152:算法提高 扶老奶奶过街(Java)
目录 1 问题描述 2 解决方案 1 问题描述 一共有5个红领巾,编号分别为A.B.C.D.E,老奶奶被他们其中一个扶过了马路. 五个红领巾各自说话: A :我和E都没有扶老奶奶 B :老奶奶是被 ...
- Android日常开发总结
全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用 ...
- Object.create(null) 和 {} 区别
Object.create(null) 创建一个空对象,此对象无原型方法. {} 其实是new Object(),具有原型方法. 应用: 使用Object.create(null)的一个重要应用是:创 ...
- android基础-Apk打包过程(了解)
此文来源于<Android软件安全与逆向分析> 一.打包资料文件,生成R.java文件. 二.处理aidl文件,生成相应的Java文件. 三.编译工程源代码,生成相应的class文件. 四 ...
- sql删除数据库所有表
use 数据库名(是要删除表的所在的那个数据库的名称) GO ) begin SELECT @sql='drop table ' + name FROM sysobjects WHERE (type ...
- Ubuntu14.04安装redis-server
1.update再install操作: sudo apt-get update sudo apt-get install -y redis-server 如果你已经安装了redis,会提示:redis ...
- Ubuntu开机自动禁用无线网络
让ubuntu开机自动禁用无线网络. 1.自启动脚本 将下面这条禁用无线网络的命令添加到“启动应用程序“中,这样开机时无线网络就会被自动禁用. dbus-send --system --type=me ...