const的重载
2024-09-21 11:31:23
class A
{
private:
int a;
public:
A(int x) :a(x){}//构造函数并不能重载
void display(){ cout << "non-const" << endl; }
void display()const{ cout << "const" << endl; }
void show(int x){ cout << "non-const " << x << endl; }
void show(const int x){ cout << "const " << x << endl; }//这是错误的重载,甚至不能通过编译器
}; void f(const int a)//并不能进行这样的重载,甚至不能通过编译器
{
cout << "const" << endl;
} void f(int a)
{
cout << "const" << endl;
} int main()
{
int a1 = 1;//当作变量用
const int a2 = 2;//当作常数用
A a(2);//对象a
const A c(3);//常对象c
a.display();//用non-const
c.display();//用const
a.show(a1);//
a.show(a2);// }
补充回一句容易混淆的话:
普通对象可以使用常函数
当有const重载的情况下,优先使用普通函数版本
常数对象只能使用常函数
最新文章
- 一步一步使用ABP框架搭建正式项目系列教程之本地化详解
- Oracle新增客户端网络配置使用scott出现错误
- Android中使用自定义View实现下载进度的显示
- leetcode 113 Path Sum II ----- java
- 访问本机的WEB API 报400错误
- 【HTML XHTML CSS基础教程(第6版)】笔记之CSS笔记(7~25章)
- IOS7学习之路三(UISpriteKit游戏开发SKNode)
- javascript组件的基本结构
- 控制结构(8) 线性化(linearization)
- 使用ftp软件上传下载php文件时换行丢失bug(全部变为一行)
- nginx虚拟域名的配置以及测试验证
- [css 揭秘]:CSS编码技巧
- CentOS 6.5 安装mysql 过程记录
- javascript 正则表达式(十)
- 基于UML的中职班主任工作管理系统的分析与设计--文献随笔(二)
- 【pycharm 警告】unittest RuntimeWarning: Parent module ” not found while handling absolute import
- 移动端H5混合开发,Touch触控,拖拽,长按, 滑屏 实现方案
- 【转】linux tar 压缩
- nginx中server的匹配顺序
- HTML|CSS之前端入门