C++中函数的种类有哪些?或者说怎么样可以定义一个函数,有多少种方法?
展开全部
问题有点大,我试着回答一下吧,函数从大方向看无非两种,成员函数和全局函数。
一个面向对象语言,理论上来说是不应该有全局函数的,但是c++比较特殊,由于他和c的亲密关系使得c++对c实现了兼容,也就是说容忍了全局函数的存在,而在java,c#这些比较成熟的面向对象语言中,全局函数是被禁用的。而全局函数是没有什么好解释的,就是一个函数,使用方法是声明,实现和调用,如果实现在调用之前,则不需要声明,否则需要声明。
成员函数比较有的说,就我的知识面来说,成员函数分为静态和动态,先说静态,静态成员函数其实类似于全局函数,或者说(按照我的理解)静态成员函数就是为了解决全局函数被禁止带来的一些问题而存在的一种函数,他不依托于对象存在,说他是个全局函数我认为没有问题。
动态成员函数又分为普通函数,虚函数,纯虚函数。
虚函数和纯虚函数有virtual关键字修饰,区别在于纯虚函数在类中声明时就加上了“=0”,直接禁止他的实现,而虚函数则可以有实现,一个含有纯虚函数的类被成为纯虚类,或者接口,接口的用途涉及到软件工程的知识,有个说法,程序架构就是模块+接口。
普通成员函数是依托于对象的函数,如果对参数和返回值不进行封装的话普通成员函数也有机会当作全局函数使用,只是这样违背了面向对象的初衷,个人认为很对不起c++语言的设计者。
一个面向对象语言,理论上来说是不应该有全局函数的,但是c++比较特殊,由于他和c的亲密关系使得c++对c实现了兼容,也就是说容忍了全局函数的存在,而在java,c#这些比较成熟的面向对象语言中,全局函数是被禁用的。而全局函数是没有什么好解释的,就是一个函数,使用方法是声明,实现和调用,如果实现在调用之前,则不需要声明,否则需要声明。
成员函数比较有的说,就我的知识面来说,成员函数分为静态和动态,先说静态,静态成员函数其实类似于全局函数,或者说(按照我的理解)静态成员函数就是为了解决全局函数被禁止带来的一些问题而存在的一种函数,他不依托于对象存在,说他是个全局函数我认为没有问题。
动态成员函数又分为普通函数,虚函数,纯虚函数。
虚函数和纯虚函数有virtual关键字修饰,区别在于纯虚函数在类中声明时就加上了“=0”,直接禁止他的实现,而虚函数则可以有实现,一个含有纯虚函数的类被成为纯虚类,或者接口,接口的用途涉及到软件工程的知识,有个说法,程序架构就是模块+接口。
普通成员函数是依托于对象的函数,如果对参数和返回值不进行封装的话普通成员函数也有机会当作全局函数使用,只是这样违背了面向对象的初衷,个人认为很对不起c++语言的设计者。
TableDI
2024-07-18 广告
2024-07-18 广告
在Excel中,`VLOOKUP` 函数常用于数据匹配和查找。其基本用法为 `=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])`。其中,`lookup_va...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询