#include<iostream.h>
template<class T>
class Sample
{
T n;
public:
Sample(T i){n=i;}
int operator==(Sample&);
};
template<class T>
int Sample<T>::operator==(Sample&s)
{
if

程序分析题:阅读程序后,填写程序的正确运行结果。


#include<iostream.h>
template<class T>
class Sample
{
T n;
public:
Sample(T i){n=i;}
int operator==(Sample&);
};
template<class T>
int Sample<T>::operator==(Sample&s)
{
if(n==s.n)
return 1;
else
return 0;
}

void main()
{
Sample<int>s1(2),s2(3);
cout<<"s1与s2的数据成员"<<(s1==s2?"相等":"不相等")<<endl;
Sample<double>s3(2.5),s4(2.5);
cout<<"s3与s4的数据成员"<<(s3==s4?"相等":"不相等")<<endl;
}


【正确答案】:

S1与S2的数据成员不相等
S3与S4的数据成员相等


【题目解析】:

运算符重载的函数名由关键字operator和其后要重载的运算符符号构成。

C++规定,“=”只能重载为成员函数。

operator=(str&)返回str类对象的引用。


Top