c++ 重载
来源:互联网 发布:淘宝助理下载订单不全 编辑:程序博客网 时间:2024/06/16 08:49
http://bbs.chinaunix.net/space.php?uid=7672252 thanks OwnWaterloo
heap 堆
stack 栈
overload 重载
override 覆盖
hide 隐藏
replace 替换
有时候容易混淆上面的4中情况为重载
区别:
1.replace
c++ 提供了默认的 void* operator new(size_t s);
而我写了一个自己的版本就是 替换replace;
2.overload
int min(int a, int b);
double min(double a, double b);
具有相同名字, 但是参数不同的函数之间互为overloaded
根据调用处的实际参数,决定了实际的调用的函数
3.hide
上述 相同的名字 有一个前提:在一个查找的作用域内
那么:
4.override 覆盖
通过基类的指针或者引用操作某个派生类的对象,调用某个虚函数
派生类可以通过override,使得该虚函数调用派生类中的版本,而不是基类的。
overload事编译时的概念,override 试运行时的概念
这一类叫做 hide 派生类中的名字会隐藏基类中的名字,使得基类的名字没有参与重载的资格
但是与上面的名字空间的例子类似,可以通过using 引入基类的名字
运行时可以通过传入不同的B的派生类 影响test的最终行为
gcc xxx.cpp -o a.out 编译完毕后, a.out的行为依然可以修改:
a.out D1
a.out D2
overload的影响在编译时决定, 不会拖到运行时。
override的影响在编译时会决定一部分, 最终还会被运行时影响。
- C 重载
- C++<<重载
- C++-运算符重载
- C/C++ 函数重载
- [C++]重载运算符
- c++(重载、覆盖、隐藏)
- C语言的重载
- [c++]函数重载
- C++:函数重载
- Objective-C函数重载
- C符号重载
- c++(重载、覆盖、隐藏)
- c++(重载、覆盖、隐藏)
- c++(重载、覆盖、隐藏)
- c++(重载、覆盖、隐藏)
- c++(重载、覆盖、隐藏)
- C#:运算符重载
- c++(重载、覆盖、隐藏)
- Linux下性能预警及应急处理
- 设计方面
- 什么是 Alpha、Beta、RC、Release版
- Yaffs 文件系统在TE2410上的移植
- 修改及查看mysql数据库的字符集
- c++ 重载
- 最小生成树算法---普里姆Prim算法
- surface相关函数
- Freemarker之List学习
- 中位数
- 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 php的简繁转换
- android 程序退出
- android 编程总结
- SIFT的一些细节问题(一)