嗨,我试图了解c++中函数重载和方法重载之间的区别。谷歌搜索后,我遇到了这个。不知道这是否正确。如果错误,请帮助纠正。
资料来源:http://www.blurtit.com/q662319.html
最佳答案
在C++中方法通常用于引用类或结构的成员函数,而
函数是一个独立的非成员函数。
标准如何声明函数和方法?
根据C++标准,函数声明定义在:
8.3.5函数[dcl.fct]
请注意,标准在#4中进一步规定:
为了仅概括方法(成员函数),可以是const
或volatile
。
函数和方法重载的准则:
因此,重载函数和重载方法(成员函数)具有不同的标准
当且仅在以下情况下才可能实现函数重载:
while方法(成员函数)仅在以下情况下才可能重载:
cv-qualifer-seq
请注意,返回类型不是过载的标准。因为C++允许实现忽略函数/方法的返回值。
代码示例:
函数重载:
void doSomething(int i);
void doSomething(std::string,int x);
方法重载:
class Myclass
{
public:
void doSomething(int i);
void doSomething(std::string,int x);
void doSomething(int i) const;
void doSomething(int i) volatile;
};
上面的示例说明了如何将
doSomething()
作为独立函数和方法/成员函数重载。关于c++ - 函数重载与方法重载之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9649005/