类的私有成员函数访问私有数据成员?
本帖最后由 whdugh 于 2013-08-14 08:45:10 编辑 文本查询程序,在定义类的私有成员函数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)
}
[解决办法]
私有变量不就是给私有函数访问的吗?
[解决办法]
又不是继承来的,自己的函数访问不了自己定义的私有变量么?
[解决办法]
类自身的成员函数都不能访问其私有变量, 那这个私有变量还有谁能访问呢?
[解决办法]
类的私有成员函数, 只要是类本身才可以访问!()
类的公共成员,都可以访问
类的保护成员,子类可以访问