Bru*_*tti 3 c++ oop class this
我仍然在学习C++中的OOP基础知识,并且在使用转换构造函数创建运算符方法时出现了一个问题.
这是我的代码:
头文件:
class Integer {
private:
int num;
public:
Integer();
Integer(int);//Convert constructor
~Integer();
operator int();
int getNum();
};
Run Code Online (Sandbox Code Playgroud)
源文件:
Integer::operator int() {
return this->num; //No idea why I need to specify this-> here.
}
Run Code Online (Sandbox Code Playgroud)
main 方法:
Integer a(50);
a = 100;
int b = (int)a;
cout << b << endl;
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,为什么我需要this->在operator int()方法上使用?我没有传递任何冲突的参数,所以它不应该是编译器的问题.我也没有测试它,它工作正常.但在我的教科书中,我明确地说它应该添加this->num.
有任何想法吗?
在您在此处显示的特定示例中,您实际上不需要使用this->前缀.只有少数情况需要为数据成员添加前缀this->,例如
由于您所拥有的示例不属于这些情况,正如您在自己的探索中所指出的那样,this->前缀完全是可选的.