【c++1】类中声明private,const后缀,没有与这些操作数匹配的运算符

1类中声明private

类的作者将类中成员声明为私有之后,用户(类的使用者)就不可以直接去访问这个成员,必须借用接口(类提供的函数)去访问。

(将其它无关的函数隐藏了)

class Quote {
public:
	string isbn() const { return bookNo; } 
private:
	string bookNo;
protected:
	double price = 0.0;
};


void main() {
	Quote quo1("aaa",123);
	//cout << quo1.bookNo; 错误,Quote::bookNo已声明不可访问
	cout << quo1.isbn();
}

类的用户使用Quote类定义了一个对象quo1,然后想直接调用quo1.bookNo,此时显示:

如果用户想去访问private成员就应该确定类的作者有没有定义一个借口函数,如Quote中isbn()。

 

2类成员函数的const后缀

string isbn() const { return bookNo; } 
//const后缀表明该函数是一个只读函数,该函数不能修改所有成员变量

3没有与这些操作数匹配的运算符 <<

 因为一开始没有导入头文件#include<string>,<<这个只能匹配基础类型数据,而由于没有导入string类,所以<<运算符没有重载就发生了错误。应该是注意:自己定义的类想用“<<”输出的话必须将其重载

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值