[UE4]C++的const类成员函数

 我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误。例如:

const char blank = ‘’;  
blank = ‘\n’;  // 错误  

 要声明一个const类型的类成员函数,只需要在成员函数参数列表后加上关键字const,例如:

#pragma once
#include<string>
#include "human.h"
using namespace std;

class girl :public human
{
public:
    girl();
    ~girl();
    string name;  //不需要定义为const,也不允许在const函数中修改

    void changeMotherName() const;
};

 

 

 在类体之外定义const成员函数时,还必须加上const关键字,例如

string brotherName = "";
void girl::changeMotherName() const 
{ 
    brotherName = "李四";        /*正确,可以修改在cpp中定义的变量*/
    //this->name = "王五";        /*错误,不能修改类成员变量*/
}

 

posted on 2018-03-22 22:53  一粒沙  阅读(545)  评论(0编辑  收藏  举报