C++中的重载、隐藏和重写
来源:互联网 发布:智能家居服务器源码 编辑:程序博客网 时间:2024/05/21 13:58
本博参考了:http://m.jb51.net/article/54225.htm
1、重载(overload)
同一个类里面,函数名和返回值类型相同,函数的参数类型或参数的个数不同。
class A{public: void test(int i); void test(double i); void test(int i,double i); int test(int i)//错误,不构成重载};
2、隐藏
只要派生类的函数和基类的函数重名,不管参数列表是否相同,基类函数都会被隐藏。
class A{public: void test(int i ,int j);};class B : public A{public: //隐藏 void test(double i);};int main(){ B b; b.test(0.5);//调用B的函数 b.test(2,3);//调用错误,因为A的test函数被隐藏}
3、重写(override)
- -a、基类的函数有virtue关键字修饰- -b、派生类的函数与基类被重写的函数“函数名”、“参数列表”、“返回值类型”必须完全一致。只有函数体不同。
class A{public: virtual void test(int i ,int j);};class B : public A{public: //重写,此处virtual可不写,建议写上 virtual void test(int i ,int j);};int main(){ A a; B b; A * pa=&a; pa->test(3,4);//调用A的test函数 pa=&b; pa->test(3,4);//调用B的test函数}
0 0
- Java中的重载、重写和隐藏
- java中的重载、重写和隐藏
- C++中的重载、隐藏和重写
- 重载、隐藏和重写
- Java中的重载、重写和隐藏(续)
- C++中的重载、覆盖(重写)和隐藏
- C++_重载、重写(覆盖)和隐藏的区别:
- 重写和重载与隐藏
- 【c#】重写和重载
- c#中的重载 重写(覆盖) 隐藏
- c++中的隐藏、重载、覆盖(重写)
- C++中的隐藏、重载、覆盖(重写)
- c++中的隐藏、重载、覆盖(重写)
- c++中的隐藏、重载、覆盖(重写)
- c++中的隐藏、重载、覆盖(重写)
- C++中的重载、重写(覆盖)、隐藏
- c++中的隐藏、重载、覆盖(重写)
- c++中的隐藏、重载、覆盖(重写)
- 01 Matrix
- 在Ubuntu下使用VPN
- poj 1981
- 【题解】codeforces792E Colored Balls
- Log记录的日志的方法
- C++中的重载、隐藏和重写
- yii 操作session
- Linux系统编程2.文件
- sort()方法详解
- Linphone探索:7 . 如何进行视频电话
- jQuery 自定义选择器及应用
- activity的4种启动模式
- js数组与字符串的相互转化
- [机器学习]机器学习笔记整理05-决策树