14-31.txt

来自「c和c++完美演绎,里面有编程的方法,对编程技术的提高有很大的帮助」· 文本 代码 · 共 34 行

TXT
34
字号
/*范例14-31*/
#include <iostream.h>
class A
{
  public:
    int a;
    A():a(5){cout<<a<<endl;}
    void fun1() const  	// 常数成员函数
    {
      cout<<a<<endl;
    }
    void fun2()   		// 非常数成员函数
    {
      cout<<a<<endl;	
    }

};
void main()
{
  const A obj1;//建立一常数对象
  obj1.fun1();
  obj1.fun2();	/* 常数对象使用非常数成员函数,不同编译器有不同的处理,以
                    下为Borland C++ Builder与Visual C++的处理方式 */
  /*
  1. Borland C++ Builder 编译器会产生一警告
    Non-const function A::fun2() called for const object.
  2. Visual C++ 编译器直接就产生错误
    error C2662: 'fun2' : cannot convert 'this' pointer 
    from 'const class A' to 'class A &'
  */
  getchar();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?