类的私有成员函数访问私有数据成员?

whdugh 2013-08-14 08:43:37
文本查询程序,在定义类的私有成员函数store_file()时,需要访问私有数据vector,将文件中的文本保存到vector中,这个怎么访问啊?谢谢
class TextQuery
{
public:
typedef vector<string>::size_type line_no;//修改1:行号为vector<>::size_type 类型,这里可以用typedef

void read_file(ifstream &is)
{
store_file(is); //修改2:添加了两个private函数
build_map();
}
set<line_no> run_query(string &s) const; //修改3:返回值为set对象的const引用?

string text_line(line_no) const; //修改4:定义常成员函数const放在后面
private:
//修改
//实现read_file
void store_file(ifstream&); //store input file
void build_map(); //
vector<string> lines_of_text;

//set<line>;
//map word to set of lines on which it occurs
map(string, set<line_no>) word_map;
}

void store_file(ifstream &is)::TextQuery
{
string word;

//类的私有函数怎么访问私有变量?
while(is>>word)

}
...全文
574 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujie1993 2015-10-19
  • 打赏
  • 举报
回复
类的对象不能直接访问类声明的私有成员变量。 对象需要调用类的成员函数,达到访问类私有成员变量的目的。
max_min_ 2013-08-14
  • 打赏
  • 举报
回复
引用 3 楼 whdugh 的回复:
引用 1 楼 hello_world000 的回复:
直接访问有问题吗?
不能直接访问吧
类的私有成员函数, 只要是类本身才可以访问!() 类的公共成员,都可以访问 类的保护成员,子类可以访问
xiaohuh421 2013-08-14
  • 打赏
  • 举报
回复
类自身的成员函数都不能访问其私有变量, 那这个私有变量还有谁能访问呢?
Defonds 2013-08-14
  • 打赏
  • 举报
回复
又不是继承来的,自己的函数访问不了自己定义的私有变量么?
whdugh 2013-08-14
  • 打赏
  • 举报
回复
引用 1 楼 hello_world000 的回复:
直接访问有问题吗?
不能直接访问吧
你怎么了熊吉 2013-08-14
  • 打赏
  • 举报
回复
私有变量不就是给私有函数访问的吗?
hello_world000 2013-08-14
  • 打赏
  • 举报
回复
直接访问有问题吗?

64,646

社区成员

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

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