文本查询程序,在定义类的私有成员函数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) }
解决方案:5分
私有变量不就是给私有函数访问的吗?
解决方案:5分
又不是继承来的,自己的函数访问不了自己定义的私有变量么?
解决方案:5分
类自身的成员函数都不能访问其私有变量, 那这个私有变量还有谁能访问呢?
解决方案:5分
类的私有成员函数, 只要是类本身才可以访问!()
类的公共成员,都可以访问
类的保护成员,子类可以访问