在C++中,方法和函数有什么区别

In C++, what is the difference between a method and a function

本文关键字:函数 什么 区别 方法 C++      更新时间:2023-10-16

可能的重复项:
方法和函数有什么区别

我正在尝试使我的术语正确。

方法和函数之间有什么区别,具体来说C++。

是方法不返回任何内容,只是对其类执行操作,而函数具有返回值吗?

C++标准而言,没有"方法"这样的东西。 此术语在其他面向对象语言(例如 Java(中用于指代类的成员函数。

在通常的用法中,你会发现大多数人会或多或少地互换使用"method"和"function",尽管有些人会将"method"的使用限制为成员函数(而不是不是类成员的"自由函数"(。

对不起,但这是我的烦恼之一。方法只是一个通用的 OO 类型术语。C++中不存在方法。如果打开C++标准,则不会找到任何提及"方法"的内容。C++具有各种口味的功能。

方法是类的成员函数,但在C++中,它们通常被称为成员函数而不是方法(一些来自其他语言(如Java(的程序员称它们为方法(。

函数通常意味着自由函数,它不是类的成员。

因此,虽然成员函数是一个函数,但函数不一定是成员函数。

例:

void blah() { } // function
class A {
    void blah() { } // member function (what would be a "method" in other languages)
};
blah(); // free functions (non-member functions) can be called like this
A ainst;
ainst.blah(); // member functions require an instance to invoke them on

术语"方法"在 c++ 中不使用,而是在成员函数中使用。

如果你正在考虑过程和函数之间的区别,那么 c++ 中的区别是没有的。 帕斯卡几乎是最后一种做出这种区分的语言。(ADA是后来构建的,并使用了术语程序,感谢Brian Neal。

任何函数,无论是否成员,声明为 void,都将是旧词汇中的过程。

成员函数是

复杂的野兽,函数是简单的函数。

成员函数

  • 是类的成员
  • 可以是私有的
  • 可以保护
  • 可以是公开的
  • 可以是虚拟的
  • 可以是纯虚拟的

即使是方法也可以有一个返回值。

方法是类的函数。例如,类"汽车"有一个方法"加速"。