在C++中,方法和函数有什么区别
In C++, what is the difference between a method and a function
可能的重复项:
方法和函数有什么区别
我正在尝试使我的术语正确。
方法和函数之间有什么区别,具体来说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,都将是旧词汇中的过程。
成员函数是复杂的野兽,函数是简单的函数。
成员函数
- 是类的成员
- 可以是私有的
- 可以保护
- 可以是公开的
- 可以是虚拟的
- 可以是纯虚拟的
即使是方法也可以有一个返回值。
方法是类的函数。例如,类"汽车"有一个方法"加速"。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- 什么时候调用析构函数
- 在两台机器之间进行时间戳的最佳c++chrono函数是什么
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 是什么原因导致它无法编译?它是声明签名还是在函数本身的实现中
- 我可以在这里替换什么,因为我不能在 C# 中使用隐式变量的 lambda 函数?
- 是什么让放置新调用对象的构造函数?
- 重载运算符的范围是什么?它是否会影响作为类成员的集合的插入函数?
- 如果我真的真的想从 STL 容器继承,并且我继承构造函数并删除新运算符,会发生什么?
- 函数名称表示什么等等
- 在函数中拥有函数原型的目的是什么?
- 使用基类指针调用基类的值构造函数的语法是什么?
- 什么是自定义比较器以及如何在 C++ 的排序函数中使用它?
- C++:使用方法调用析构函数的顺序是什么?
- 将此布尔值传递给此函数的最有效方法是什么?
- lambda函数什么时候对C++中的类有用
- 函数什么时候必须在c++中返回引用
- 如果void类型函数什么都不返回会发生什么