#include <iostream>
#include <string>
class Person {
public:
Person(const std::string& name) : name(name), age(0) {}
// 常量成员函数中修改 mutable 成员变量
void printAge() const {
++counter; // 修改 mutable 成员变量
std::cout << "Name: " << name << ", Age: " << age << ", Accessed: " << counter << " times" << std::endl;
}
void setAge(int a) {
age = a;
}
private:
std::string name;
int age;
mutable int counter = 0; // 可以在常量成员函数中修改的成员变量
};
int main() {
const Person p("Alice");
p.printAge(); // 输出: Name: Alice, Age: 0, Accessed: 1 times
p.printAge(); // 输出: Name: Alice, Age: 0, Accessed: 2 times
return 0;
}
mutable 关键字用于声明类中的成员变量,使得该成员变量可以在常量成员函数(即带有 const 修饰符的成员函数)中被修改。counter 是一个 mutable 成员变量。尽管 printAge 是一个常量成员函数,它仍然可以修改 counter 的值。上一篇:c++中++i和i++的区别
下一篇:c++中或者用什么符号
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站