概述
2019独角兽企业重金招聘Python工程师标准>>>
重载三种情况
1.参数个数不同
2.参数类型不同
3.有无const
class test
{
public:
int getNum(int i);
double getNum(double d);//如果不想使用该重载函数,则可以显示删除double类型的重载函数
bool getNum(double x, double y);//变量类型和变量个数均不相同
int getNum(int i)const;//const方法重载
inline double setNum(double x);//内联函数
int setNum(int x){mx=x;}//另一种内联函数的实现方式,即直接将代码放在类的定义中去。
private:
int mx;
};
内联方法
1.方法实现的最前面加上关键字inline。
2.将函数实现代码直接放入成员函数声明的地方。
注意:
1.内联比#define宏更加安全,因为#define有时候可能会出现意想不到的情况。如:
#include <stdio.h>
#include <stdlib.h>
#define T(a,b) a+b
void main()
{
int x = 2, y = 3, z = 4;
printf("%d", T(x, y)*z);//运行结果为14,那是因为执行的是x+y*z,并不是(x+y)*z
getchar();
}
2.满足内联函数的条件是代码足够简单,即便用户没有显示声明较小的函数为inline,但高级C++编译器会自动把该函数当成内联函数来处理,若函数代码庞大,即便用户显示声明该函数为inline,C++编译器也会予以忽略,而且大的内联方法很容易造成代码膨胀。
转载于:https://my.oschina.net/u/2959583/blog/775647
最后
以上就是懵懂樱桃为你收集整理的C++重载与内联方法的全部内容,希望文章能够帮你解决C++重载与内联方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复