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

【C++】类与对象 | 常对象与常对象成员,第1张

【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成员函数。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3971680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存