可能重复:
What is the difference between a method and a function
我正在努力使我的术语正确。
特别是对于C ++,方法和函数之间有什么区别。
是一个方法什么都不返回,只是在它的类上预先形成操作;函数有返回值吗?
答案 0 :(得分:50)
就C ++标准而言,没有“方法”这样的东西。该术语在其他OO语言(例如Java)中用于引用类的成员函数。
在常见的用法中,你会发现大多数人会或多或少地交替使用“方法”和“功能”,尽管有些人会限制对成员函数使用“方法”(而不是“自由函数”,不是一个班级的成员。)
答案 1 :(得分:14)
对不起,这是我的一个小小的烦恼。方法只是一个通用的OO类型的术语。 C ++中不存在方法。如果您打开C ++标准,您将找不到任何“方法”。 C ++具有各种风格的功能。
答案 2 :(得分:1)
方法是类的成员函数,但在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
答案 3 :(得分:1)
术语“方法”不用于c ++,而是成员函数。
如果您正在考虑过程与函数之间的区别,那么c ++的差异就是无。 Pascal几乎是最后一种区分语言。 (ADA后来被构建并使用了“程序”一词,感谢Brian Neal。)
声明为void的任何函数,成员与否,都是旧词汇表中的一个过程。
成员函数是一个复杂的野兽,函数是一个简单的函数。
会员功能
答案 4 :(得分:-1)
即使方法也可以有返回值。
方法是类的功能。例如,“car”类有一种方法“加速”。