单选题 有如下类定义:
class MyClass{
public:
______
private:
int data;
};
若耍为Myclass类重载流输入运算符>>,使得程序中可以“cin>>obj;”形式输入MyClass类的对象obj,则横线处的声明语句应为______。
【正确答案】 A
【答案解析】[解析] 重载输入、输出的声明必须是友元.传入的对象必须是地址,否则操作对象的值是没有意义的,
下面是重载输入运算符示例:(Dew C++)
#include<cstdlib>
#include<iostream>
using namespace std;
class MyClass{
public:
int dala;
public:
MyClass(int data);
friend istrcam&operator>>(istream&is,MyClass&obj);
};
MyClass::MyClass(int data){
data=data;
}
istream&operator>>(istream&is,MyClass&obj){
is>>obj.data;
return is;
}
int main(void)
{
MyClass obj (12);
cin>>obj;
cout<<endl;
cout<<obj.data;
system("PAUSE");
return EXIT SUCCESS;
}