#include <iostream>
using namespace std;
/************************************************************************
常函数:
1.成员函数后加const后,称该函数为常函数;
2.常函数内不可修改成员属性;
3.成员属性声明时加上mutable关键字后,在常函数中依然可以修改;
常对象:
1.声明对象前加const称为常对象;
2.常对象只能调用常函数;
/************************************************************************/
class Person{
public:
Person(int age, int height):m_height(height)
{
this->m_age = age;
}
int get_age_value() const
{
//m_age = 40; 常函数内不能修改成员变量
return m_age;
}
int get_height_value() const
{
m_height = 190; //成员属性前面加mutable关键字后,常函数内可以修改该成员变量
return m_height;
}
int get_value()
{
return m_height;
}
private:
int m_age;
mutable int m_height;
};
void test1()
{
Person per(20, 166);
cout<<"age:"<<per.get_age_value()<<endl;
cout<<"height:"<<per.get_height_value()<<endl;
const Person per1(30, 150);
cout<<"age:"<<per1.get_age_value()<<endl;
cout<<"height:"<<per1.get_height_value()<<endl;}
//per1.get_value(); 常对象只能调用常函数
int main()
{
test1();
return 0;
}
C++ 常函数和常对象
最新推荐文章于 2024-04-28 00:16:41 发布