栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C++】类与对象 | 常对象与常对象成员

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C++】类与对象 | 常对象与常对象成员

常对象
const A a(1);
A const a(1);
  • 常对象只能调用常成员函数 (除了由系统自动调用的隐式构造函数和析构函数)
  • 常对象中所有的数据成员为常变量(不能被修改),且必须有初始值
常对象成员 常成员函数
#include 
using namespace std;

class a
{
public:
    void fun() const;
};

//注意:定义时要与声明一致,即别漏了const
void a::fun() const
{
    cout << "test" << endl;
}

int main()
{
//常成员函数既可以被常对象调用,也可以被非常对象调用
    a a1;
    a1.fun();
//常对象
    const a a2;
    a2.fun();
}
  • 常成员函数 不可改变 对象的任何数据成员值

    > f1 与 f2
class a
{
public:
    void f2(const int &d)
    {
        data = d;
    }

private:
    int data;
};
常数据成员

值不能改变。
只能通过构造函数的参数初始化表对常数据成员进行初始化


C++中的常对象和常对象成员

  1. 不要误认为常对象中的成员函数都是常成员函数,常对象只保证其所有数据成员的值不被修改。
  2. 如果在常对象中的成员函数未加const声明,则编译系统会把它当非const成员函数处理。
  3. 常成员函数不能调用另外一个非cosnt成员函数。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/330886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号