Chapter12——请比较函数重载和虚函数在概念上和使用方式有什么区别
来源:互联网 发布:vc 6.0 安装包 知乎 编辑:程序博客网 时间:2024/05/29 15:57
函数重载的定义是:在同一作用域(如:类)中,几个函数名字相同但参数列表(参数类型,参数个数)不全相同。
虚函数的定义是:在基类中用关键词“virtual”声明成员函数,然后在派生类中正式定义或重新定义此函数,其中要求函数名、函数类型、参数类型和个数必须与基类虚函数相同。
所以函数重载和虚函数在概念上的最大差别在于函数重载针对某个类里面的同名函数而言,而虚函数是针对基类和派生类之间同名函数而言。
在使用方式方面:
函数重载需要注意作用域,在内层作用域中声明的重载函数会隐藏外层作用域中的同名函数;在调用重载函数时要注意参数匹配,注意“无匹配”和“二义性调用”等问题。
虚函数只能用virtual声明类的成员函数,不能把类外的普通函数作为虚函数,它只能用于类的继承层次结构中;在同一类族中不能再定义一个非virtual的但与虚函数具有相同参数(类型和个数)和返回类型的同名函数。
0 0
- Chapter12——请比较函数重载和虚函数在概念上和使用方式有什么区别
- 函数重载和虚函数在概念和使用方式方面的区别
- 方法与函数在概念上的区别
- 在c++中,运算符和函数有什么区别?
- 虚函数和纯虚函数有什么区别
- 虚函数和抽象函数有什么区别
- 虚函数和抽象函数有什么区别
- C++中函数覆盖和使用虚函数有什么区别
- 宏和inline函数有什么区别
- FileCreate,和CreatFile函数有什么区别?
- 宏和内联函数有什么区别
- block和函数指针有什么区别
- 宏和函数有什么区别?
- 消息机制和使用调用函数方式有何区别
- 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别
- 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别
- 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别
- 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别
- linux命令
- 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑合辑
- 安装npm包的时候出现unable to get local issuer certificate的错误解决办法
- 1002. 写出这个数 (20) PAT
- String 与inputString 互转方法
- Chapter12——请比较函数重载和虚函数在概念上和使用方式有什么区别
- 不使用XML来创建SqlSessionFactory
- 续安装好composer和workerman之后;TP5运行workerman的操作
- 最近做了一道恶心的题目
- Windows I/O操作
- 补c++第四次作业
- 手机两种获取IP的方式WiFi和 GPRS
- Tomcat下设置项目为默认项目
- CentOS 7.2 安装mysql 5.7.18-*.rpm-bundle.tar