定义 Staff *pStaff; (Staff是类名) 那 pStaff->Write(file);这个语句是怎么理解
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 00:43:06
定义 Staff *pStaff; (Staff是类名) 那 pStaff->Write(file);这个语句是怎么理解
目前只学完了c++
目前只学完了c++
pStaff->Write(file);是用file调用类Staff中的成员函数Write();但在这之前必须要使pStaff指向一个Staff类的具体对象……
再问: 恩,那它和fstream f; f.write(" ")这个函数有什么区别与联系???能否提供完整的文件关于write,read 的用法?以防以后遇到又不懂!求解,谢谢!
再答: 应当说它们二者是完全一样的。通过指针访问它指向的目标的成员时要用->运算符,而直接用变量访问时就用.运算符。像你举的这个例子fstream f; f.write(" "),如果将f用fstream *f声明成fstream型指针,那后面的f.write(" ")就要改成f->write(" ")了;当然还可以用通过指针f把它所指的变量取出来,然后再用.运算符操作,就是:(*f).write(" "),这和f->write(" ")是等价的。很遗憾,没有这方面的资料……
再问: 恩,那它和fstream f; f.write(" ")这个函数有什么区别与联系???能否提供完整的文件关于write,read 的用法?以防以后遇到又不懂!求解,谢谢!
再答: 应当说它们二者是完全一样的。通过指针访问它指向的目标的成员时要用->运算符,而直接用变量访问时就用.运算符。像你举的这个例子fstream f; f.write(" "),如果将f用fstream *f声明成fstream型指针,那后面的f.write(" ")就要改成f->write(" ")了;当然还可以用通过指针f把它所指的变量取出来,然后再用.运算符操作,就是:(*f).write(" "),这和f->write(" ")是等价的。很遗憾,没有这方面的资料……