• 《新标准C++程序设计》3.5(C++学习笔记8)


    常量对象和常量成员函数

    一、常量对象

    如果希望某个对象的值初始化后就再也不被改变,则定义该对象时可以在前面加const关键字,使之成为常量对象。

    class CDemo {
    private:
        int value;
    public:
        void SetValue(){}
    };
    const Demo Obj;//常量对象
    Obj.SetValue();//wrong

    常量对象一旦初始化后,其值就再也不能改变,但是可以通过常量对象调用常量成员函数。

    二、常量成员函数

    常量成员函数,就是在定义时加了const关键字的成员函数(声明时也要加)

    常量成员函数执行期间不应该修改其所作用的对象。因此,在常量成员函数中不能修改成员变量的值(静态成员变量除外),也不能调用同类的非常量成员函数(静态成员函数除外)。

    #include<iostream>
    using namespace std;
    class Sample {
    public:
        void GetValue() const;
    };
    void Sample::GetValue() const
    {
    
    }
    int main()
    {
        const Sample o;
        o.GetValue();//常量对象上可以执行常量成员函数
        return 0;

    两个函数,名字和参数表都一样,但是一个是const,一个不是,算重载。

    #include <iostream>
    using namespace std;
    class CTest {
    private :
    int n;
    public:
    CTest() { n = 1 ; }
    int GetValue() const { return n ; }
    int GetValue() { return 2 * n ; }
    };
    int main() {
    const CTest objTest1;
    CTest objTest2;
    cout << objTest1.GetValue() << "," <<
    objTest2.GetValue() ;
    return 0;
    }
  • 相关阅读:
    查询内容在网页里面分页显示+跳页查看
    struts2——通配符
    JavaScript 输出
    oracl函数
    oracle基本用法
    Java之线程处理之二
    java之多线程之一/序列化和反序列化
    错题整理之二
    S2结业考试的第一次测验
    cookie与session的爱恨情仇
  • 原文地址:https://www.cnblogs.com/cyn522/p/12271024.html
Copyright © 2020-2023  润新知