fig21_03.cpp
来自「经典vc教程的例子程序」· C++ 代码 · 共 39 行
CPP
39 行
// Fig. 21.3: fig21_03.cpp
// Demonstrating the const_cast operator.
#include <iostream.h>
class ConstCastTest {
public:
void setNumber( int );
int getNumber() const;
void printNumber() const;
private:
int number;
};
void ConstCastTest::setNumber( int num ) { number = num; }
int ConstCastTest::getNumber() const { return number; }
void ConstCastTest::printNumber() const
{
cout << "\nNumber after modification: ";
// the expression number-- would generate compile error
// undo const-ness to allow modification
const_cast< ConstCastTest * >( this )->number--;
cout << number << endl;
}
int main()
{
ConstCastTest x;
x.setNumber( 8 ); // set private data number to 8
cout << "Initial value of number: " << x.getNumber();
x.printNumber();
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?