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 + -
显示快捷键?