常对象

1、常对象一定要初始化,永不能修对象的数据成员,常对象只能调用常成员函数(在调用的常成员函数中不能调用普通成员函数)

const修饰的对象叫对象常量,其格式如下:

〈类名〉const 〈对象名〉 或者 const 〈类名〉〈对象名〉

2、常成员函数:

     const关键词说明的函数叫常成员函数。其格式如下:

〈类型〉〈函数名〉(〈参数表〉)const;

常成员函数不能访问普通成员函数和常成员变量,但是普通成员函数能够访问常成员函数

(1) const是函数类型的一个组成部分,因此在函数实现部分也要带有const关键字。 

(2) 常成员函数不更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数。 

(3) 常对象只能调用它的常成员函数,而不能调用其他成员函数。成员函数与对象之间的操作关系如表所示。

成员函数与对象之间的操作关系

 

常成员函数

一般成员函数

常对象

可以

不可以

一般对象

可以

可以

 

(4) const关键字可以用于参与重载函数的区分。例如: 

    void Print(); 

    void Print() const 

 这两个函数可以用于重载。重载的原则是:常对象调用常成员函数,一般对象调用一般成员函数。 

常成员变量:只能在构造函数的初始化列表初始化;

如:

const int a;

const int b;

int c;

stu::stu(int a,int b,int c) :a(a),b(b),c(c){}

或者:stu::stu(int a,int b,int c):a(a),b(b)  {

this->c = c;

}

下面是错误的赋值方法:

stu::stu(int a,int b,int c)  {

this->a=a;

this->b = b;

this->c = c;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值