首页 理论教育 《零基础C++从入门到精通》成员函数

《零基础C++从入门到精通》成员函数

时间:2023-08-20 理论教育 版权反馈
【摘要】:类中定义的函数叫作成员函数。动手写8.2.2动手写8.2.2展示了成员函数定义和声明的分离。我们在类定义体之外定义了3个函数,在函数名之前加上了类名“Champion”和“::”以表示它们是成员函数。成员函数可以是const的,而一般的函数没有这个功能。常量成员函数不能修改本对象的成员变量。由于我们无意中写了second++,编译将会报出如图8.2.1所示的错误:图8.2.1常量成员函数如果将这一行注释掉,程序就能顺利编译并且打印出时间了。

《零基础C++从入门到精通》成员函数

类中定义的函数叫作成员函数(Member Function)。成员函数在调用的时候需要像读取或修改成员变量那样加上对象的名字作为前缀,例如myObj.doSomething()。

成员函数可以在类中定义,也可以在类的外部定义。如果要在类外定义成员函数,我们首先要在类中声明成员函数,然后在类外定义时在函数名前面加上类名和作用域操作符“::”。

动手写8.2.2

动手写8.2.2展示了成员函数定义和声明的分离。我们在类定义体之外定义了3个函数,在函数名之前加上了类名“Champion”和“::”以表示它们是成员函数。而且,定义体内的函数定义也去掉了函数体,加上了分号变成函数声明。函数声明不需要指明形参的名字,因此在attack()的声明中我们只写了“Champion &”。

定义在类内外的成员函数都属于类的内部,可以访问类中所有的成员变量。

成员函数可以是const的,而一般的函数没有这个功能。常量成员函数通过在参数列表后添加const关键字实现,并且在声明和定义中都必须有。常量成员函数不能修改本对象的成员变量。(www.xing528.com)

动手写8.2.3

动手写8.2.3展示了常量成员函数。printTime()是一个用const关键字修饰了的常量成员函数,在函数内不能修改类成员变量。由于我们无意中写了second++,编译将会报出如图8.2.1所示的错误

图8.2.1 常量成员函数

如果将这一行注释掉,程序就能顺利编译并且打印出时间了。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈