【转】int const A::func()和int A::func() const
int const A::func() { return 0; }
int A::func() const { return 0; }
上面的代码是合法的,其中A::func成员函数[只能在成员函数后面加上const修饰符]是一个重载成员函数,两个函数都返回int类型数据(注意:对于C/C++,返回类型或参数类型中,const int和int被认为是一种类型。但是const int *和int *不是一种类型),这两个重载函数正是基于函数名后的const来重载的。
int const func();表示该成员函数的隐藏this指针参数是A * const类型的[this只能指向一个const*指针对象(这个是必然的啊),但是该对象的值(*t取出或者赋值)可以改变];而int func() const;表示该重载成员函数的隐藏this指针参数是A const * const类型的[this只能指向一个const*指针对象,而且该对象的值不可以改变].
A * const类型和A const * const类型是不同类型,因此可以重载。
【转】int const A::func()和int A::func() const的更多相关文章
- C++ char*,const char*,string,int 的相互转换
C++ char*,const char*,string,int 的相互转换 1. string转const char* string s ="abc";const char* ...
- error C2556: 'const char &MyString::operator [](int)' : overloaded function differs only by return type from 'char &MyString::operator [](int)'
char & operator[](int i);const char & operator[](int i);/*const char & operator(int i);* ...
- int main(int argc,char *argv[])与int main(int argc,char **argv)区别?
int main(int argc,char *argv[])与int main(int argc,char **argv)区别? 这两种是一个等价的写法 而int main(int argc,cha ...
- Number (int float bool complex)--》int 整型、二进制整型、八进制整型、十六进制整型
# ### Number (int float bool complex) # (1) int 整型 (正整数 0 负整数) intvar = 15 print(intvar) intvar = 0 ...
- 字符串转换成整型,到底使用int.Parse,Convert.ToInt32还是int.TryParse?
当我们想把一个字符串转换成整型int的时候,我们可能会想到如下三种方式:int.Parse,Convert.ToInt32和int.TryParse.到底使用哪种方式呢? 先来考虑string的可能性 ...
- ( ( (int(*)(uint, ushort, uint *, uint, int)) (*((uint *)(TCM_BASE + 0x8))) ) (a,b,c,d,e) )
( ( (int(*)(uint, ushort, uint *, uint, int)) (*((uint *)(TCM_BASE + 0x8))) ) (a,b,c,d,e) ) 首先红 ...
- int to string & string to int
#include "stdafx.h" #include <string> #include <sstream> using namespace std; ...
- (int)a、&a、(int)&a、(int&)a的区别,很偏僻的题
(int)a.&a.(int)&a.(int&)a的区别,很偏僻的题 #include <iostream> #include <stdio.h> #i ...
- Expression<Func<TObject, bool>>与Func<TObject, bool>的区别
Func<TObject, bool>是委托(delegate) Expression<Func<TObject, bool>>是表达式 Expression编译后 ...
随机推荐
- Kooboo CMS的安装步骤
Kooboo CMS的安装步骤 来自Kooboo document 跳转到: 导航, 搜索 http://www.microsoft.com/web/gallery/install.aspx?appi ...
- 【JMeter】ant+jmeter生成html报告
源博文来自于 http://my.oschina.net/hellotest/blog/517518 主要应用于接口的回归或者性能的简单查看功能.操作为先在jmeter中写好测试计划,保存为jmx文 ...
- 【Python】Python-skier游戏[摘自.与孩子一起学编程]
这是一个滑雪者的游戏. skier从上向下滑,途中会遇到树和旗子,捡起一个旗子得10分,碰到一颗树扣100分,可以用左右箭头控制skier方向. 准备素材 一 准备python环境:我下载的pytho ...
- 《Python基础教程(第二版)》学习笔记 -> 第三章 使用字符串
本章讲话介绍如何使用字符串格式化其他的值,并简单了解一下利用字符串的分割.联接.搜索等方法能做些什么. 基本字符串操作 所有标准的序列操作(索引.分片.乘法.判断成员资格.求长度.取最大最小值)对字符 ...
- openCV 直方图统计
直方图显示 #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main(int argc ...
- Visual Studio配置OpenCV设置全局的继承属性
1.安装完毕OpenCV后,新建一个CLR空项目,将其取名为"SetingGlobalOpenCVDir"便于以后变更版本时修改.如下图所示: 2.点击"视图->其 ...
- hdoj 4325 Flowers【线段树+离散化】
Flowers Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- nyoj 17 单调递增最长子序列
单调递增最长子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4 输入 ...
- Cookie与Session的初探
1.Cookie 2.Session 每当一个新的请求来时,asp.net会根据浏览器有没传来SessionId(一般用Cookie传过来的,也可以用url传),来判断是新创建一个session还是根 ...
- 编写一个Shape类,具有属性:周长和面积; 定义其子类三角形和矩形,分别具有求周长的方法。 定义主类E,在其main方法中创建三角形和矩形类的对象, 并赋给Shape类的对象a、b,使用对象a、b来测试其特性。
package shape; public class Shape { //定义成员变量 private double zhouchang; private double mianji; public ...