大家好,欢迎来到IT知识分享网。
1、常函数介绍
1.1、什么是常函数
1.2、为什么需要常函数
1.3、使用常函数的好处
2、C++中的const关键字
3、mutable关键字
4、示例代码
4.1、person.hpp
#ifndef PERSON_HPP #define PERSON_HPP #include <string> using namespace std; namespace MAN{
class Person{
public: int age; //获取姓名,用const修饰成常函数,表示内部不会修改成员变量 string getName(void) const; //构造函数 Person(){
}; Person(string myname){
this->name=myname; this->getNameCnt=0;}; private: string name; //人的名字,不希望被修改 mutable int getNameCnt; //名字被查询的次数 }; } #endif // PERSON_HPP
4.2、person.cpp
#include "person.hpp" #include <iostream> using namespace std; string MAN::Person::getName(void) const {
//因为getNameCnt变量被mutable修饰,所以这里才可以修改 this->getNameCnt++; cout << "getNameCnt=" << this->getNameCnt << endl; return this->name; }
4.3、main.cpp
#include <iostream> #include "person.hpp" using namespace std; using namespace MAN; int main() {
//初始化name为linux Person p1("linux"); cout << "p1.name=" << p1.getName() << endl; cout << "p1.name=" << p1.getName() << endl; cout << "p1.name=" << p1.getName() << endl; return 0; }
4.4、代码执行结果
root@ubuntu:# ./app getNameCnt=1 p1.name=linux getNameCnt=2 p1.name=linux getNameCnt=3 p1.name=linux
4.5、代码分析
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/124845.html