🌷🌷🌷🌷① 示例1:修改一个const变量
🌷🌷🌷🌷② 示例2:重载一个const成员函数
🌷🌷🌷🌷③ 示例3:与旧的C库交互
🌷🌷🌷🌷④ 示例4:在const成员函数中修改成员变量
示例2:重载一个const成员函数
class MyClass {
public:
void foo() const { std::cout << "const foo" << std::endl; }
void foo() { std::cout << "non-const foo" << std::endl; }
};
int main() {
const MyClass obj1;
obj1.foo(); // 调用const foo
MyClass& obj2 = const_cast<MyClass&>(obj1);
obj2.foo(); // 调用非const foo
return 0;
}
在这个示例中,我们有一个类MyClass,其中包含两个成员函数foo,一个是const的,一个是非const的。然后我们创建了一个const类型的对象obj1,并调用了它的const foo函数。然后我们使用const_cast创建了一个非const引用obj2,并调用了它的非const foo函数。这个示例展示了如何使用const_cast来重载一个const成员函数。