zoukankan      html  css  js  c++  java
  • const 用在函数后

    类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非静态数据成员)作任何改变。C++支持常量性不同的重载,例如下面的GetData函数。

    #include "Test.h"
    
    
    Test::Test(void)
    {
        data=0;
    }
    
    
    Test::~Test(void)
    {
    }
    const int Test::GetData() const
    {
        int y=0;
        //return y++; 这个可以,因为y不是成员变量
        //return data++;编译不通过,data是成员变量,不可以在函数内改变
        return data;
    }
    int Test::GetData()
    {
        return ++data;//成员函数后面没有const,可以修改成员变量的值。
    }

    const 对象调用const 成员函数,no const调用 no const成员函数。

    int main(int arg,char * agrs)
    {
        const Test* test=new Test();
    
         Test* testno=new Test();
        int data=test->GetData();
        std::cout<<"const"<<data<<endl;
        std::cout<<"no const"<<testno->GetData()<<endl;
    
        getchar();
        return 0;
    
    }

    结果是:

  • 相关阅读:
    java 异常练习题1
    java 异常练习题
    java 抽象类
    java 接口练习题6
    java 接口练习题5
    java 接口练习题4
    java 接口练习题3
    java接口练习题2
    java 接口练习题1
    java 泛型
  • 原文地址:https://www.cnblogs.com/shencheng5721/p/const.html
Copyright © 2011-2022 走看看