zoukankan      html  css  js  c++  java
  • 《新标准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;
    }
  • 相关阅读:
    React 构建方法总结
    集思广益 (一)
    C#方法调用
    C# Hello World 实例
    C# 环境
    C# 简介
    对象类型的本地写入---plist文件创建以及读取
    正则判断 手机邮箱的正确格式
    数组去重
    Base64编码
  • 原文地址:https://www.cnblogs.com/cyn522/p/12271024.html
Copyright © 2011-2022 走看看