c – 什么是“operator int&(){return i; “在代码中做
我在Stack Overflow中发现这段代码只需几分钟.
我对实际操作符int&(){return i;正在做代码. #include <iostream> #include <conio.h> using namespace std; class INT { public: INT(int ii = 0) : i(ii) {} operator int&() { return i; } void display() { cout << "value of i is : " << i; } private: int i; }; int main() { INT l; cin >> l; l.display(); getch(); return 0; } 我添加了显示功能只是为了获得一些见解.我看到了从cin>>获得的价值升;被分配给i,它是对象l的私有成员.所以这是 你能让我知道我们可以直接通过cin来获取课堂对象的价值吗?它运作正常吗? 如果我在类INT的私有部分中有两个int变量怎么办? 解决方法
这是一个Conversion Operator;它接受一个I??NT对象并返回对int类型的引用. 只要编译器可以匹配函数参数等,就总是允许一次隐式转换.
如第一个答案中所述,只要您的代码需要大量隐式转换,这就非常有用.
为了使cin>> l起作用, 请注意,>>大多数内置数据类型都被重载,因此您可以直接使用, 但是,在你的例子中, 您将必须提供overload >> operator作为独立功能,接收INT,以便能够使用cin>> l. std::istream& operator>>(std::istream& is,INT& obj) { } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |