c++有关const

feipigzi 2009-04-16 11:22:05

设有如下所示的的关于书籍类的一个定义:
Class CBooks
{
Private:
char*p_title;
float price;
public:
CBooks ();
CBooks (char* p_book_title,float book_price);
void setPrice (float book_price);
void print () const;
~CBook ();
};
为使用户能修改书的书名,在CBooks 类中增加一个成员函数setTitle() .若该函数定义成如下两种形式之一,试说明const关键字在这里的用途。
1:void setTitle (char* p_book_title)const;
2:void srtTitle (const char* p_book_title);
...全文
205 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
蜥蜴枪王 2009-04-17
  • 打赏
  • 举报
回复
LS正解
airtrack 2009-04-17
  • 打赏
  • 举报
回复
既然要修改成员,那就不要将函数设为const成员函数。
cismylife 2009-04-17
  • 打赏
  • 举报
回复
7楼正解
中才德创 2009-04-16
  • 打赏
  • 举报
回复
1:void setTitle (char* p_book_title)const;此函数中,若修改类的成员变量,报错!
2:void srtTitle (const char* p_book_title);p_book_title指针本身可变,但其指向的内容不可变。
gxw145 2009-04-16
  • 打赏
  • 举报
回复
我是指1楼的哦,呵呵
gxw145 2009-04-16
  • 打赏
  • 举报
回复
LS正解,这个是基础,书上有这东西,LZ好好学喽!多看点书,多写点代码才是道理!加油吧!!!
zhyinty 2009-04-16
  • 打赏
  • 举报
回复
const 成员函数不修改 类的成员变量
brookmill 2009-04-16
  • 打赏
  • 举报
回复
根据楼主的需求来看,应该定义成第二个
cccll9 2009-04-16
  • 打赏
  • 举报
回复
1. setTitle 不可修改类的成员变量。
2. srtTitle 不可修改*p_book_title。
brookmill 2009-04-16
  • 打赏
  • 举报
回复
1:void setTitle (char* p_book_title)const;
setTitle函数不修改任何成员变量
2:void srtTitle (const char* p_book_title);
srtTitle函数不修改p_book_title指向的内容

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧