嗨,我试图了解c++中函数重载和方法重载之间的区别。谷歌搜索后,我遇到了这个。不知道这是否正确。如果错误,请帮助纠正。

资料来源:http://www.blurtit.com/q662319.html

最佳答案

在C++中方法通常用于引用类或结构的成员函数,而
函数是一个独立的非成员函数。

标准如何声明函数和方法?

根据C++标准,函数声明定义在:
8.3.5函数[dcl.fct]



请注意,标准在#4中进一步规定:



为了仅概括方法(成员函数),可以是constvolatile

函数和方法重载的准则:

因此,重载函数和重载方法(成员函数)具有不同的标准

当且仅在以下情况下才可能实现函数重载:

  • 不同数量的参数。
  • 不同的参数顺序或
  • 不同的参数

  • 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/

    10-11 22:09
    查看更多