实例化的对象调用似有成员的问题

dyengying 2009-03-04 10:33:11
class Sales_item {
public:
bool same_isbn(const Sales_item &rhs) const
{return isbn == rhs.isbn; } //可以直接写rhs.isbn调用isbn?私有成员不是只能被成员函数调用的么,有点搞不懂 private:
std::string isbn;
unsigned units_sold;
double revenue;

};
...全文
108 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
dyengying 2009-03-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mrliu_xz 的回复:]
额。。。。我有一点不是很明白
从LZ的代码看
std::string isbn;
不是明明在public下么
为什么成私有的了?
[/Quote]
class Sales_item {
public:
bool same_isbn(const Sales_item &rhs) const
{return isbn == rhs.isbn; } //可以直接写rhs.isbn调用isbn?私有成员不是只能被成员函数调用的么,有点搞不懂 private: //在这里,呵呵,排版的问题
std::string isbn;
unsigned units_sold;
double revenue;

};
mrliu_xz 2009-03-04
  • 打赏
  • 举报
回复
额。。。。我有一点不是很明白
从LZ的代码看
std::string isbn;
不是明明在public下么
为什么成私有的了?
arong1234 2009-03-04
  • 打赏
  • 举报
回复
当然,我们从来都是说“类”成员函数,没有说“对象”成员函数

[Quote=引用 6 楼 dyengying 的回复:]
引用 3 楼 fox000002 的回复:
成员函数是属于类的

一个类所有的对象共用成员函数

成员函数可以访问对象的成员变量

意思是
a.same_isbn(const Sales_item &b) const
{return isbn == b.isbn; }
b.isbn也当成是成员函数调用的成员变量?
[/Quote]
dyengying 2009-03-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 fox000002 的回复:]
成员函数是属于类的

一个类所有的对象共用成员函数

成员函数可以访问对象的成员变量
[/Quote]
意思是
a.same_isbn(const Sales_item &b) const
{return isbn == b.isbn; }
b.isbn也当成是成员函数调用的成员变量?
  • 打赏
  • 举报
回复
楼主可以简单理解为,private的限制是针对对象去调用的时候,但是在类本体的声明跟定义是觉得要保证可访问的.
arong1234 2009-03-04
  • 打赏
  • 举报
回复
这个私有是“类”一级的,不是“对象”一级的
虽然rhs是不同的对象,他是通一个类的啊

[Quote=引用 2 楼 dyengying 的回复:]
引用 1 楼 fox000002 的回复:
可以理解为这是类内调用,不受 private 限制

private 是针对对象的

rhs.isbn 这不是通过对象调用的么?
这个类调用也是先实例化两个对象,然后一个对象调用此函数把另一个当成参数传进去才对啊,还是不太明白。
[/Quote]
fox000002 2009-03-04
  • 打赏
  • 举报
回复
成员函数是属于类的

一个类所有的对象共用成员函数

成员函数可以访问对象的成员变量

dyengying 2009-03-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fox000002 的回复:]
可以理解为这是类内调用,不受 private 限制

private 是针对对象的
[/Quote]
rhs.isbn 这不是通过对象调用的么?
这个类调用也是先实例化两个对象,然后一个对象调用此函数把另一个当成参数传进去才对啊,还是不太明白。
fox000002 2009-03-04
  • 打赏
  • 举报
回复
可以理解为这是类内调用,不受 private 限制

private 是针对对象的

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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