( 14 )如下程序定义了 “ 单词 ” 类 word ,类中重载了 < 运算符,用于比较 “ 单词 ” 的大小,返回相应
辑值。程序的输出结果为: After Sorting: Happy Welcome ,请将程序补充完整。
#include <iostream>
#include <string>
using namespace std;
class Word {
public:
Word(string s) : str(s) { }
string getStr(){ return str; }
【 14 】 const { return (str<w.str); }
friend ostream& operator << (ostream& output, const Word &w)
{ output<<w.str; return output; }
private:
string str;
};
Int main(){
Word w1("Happy"),w2("Welcome");
Cout<<"After sorting: ";
if(w1<w2) cout<<w1<<' '<<w2;
else cout<<w2<<' '<<w1;
return 0;
}
第1题:
下列关于赋值运算符“=”重载的叙述中,正确的是
A.赋值运算符只能作为类的成员函数重载
B.默认的赋值运算符实现了“深层复制”功能
C.重载的赋值运算符函数有两个本类对象作为形参
D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符
第2题:
下面关于自定义类的运算符重载的说法中,正确的是()。
A.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数
B.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员
C.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同
D.所有运算符都可以以类友元形式进行重载
第3题:
定义一个复数类complex, 重载运算符 “+”,使之能用于复数的加法运算,将运算符函数重载为成员函数;重载运算符 “-”,使之能用于复数的减法运算,将运算符函数重载为友元函数。编写主函数,测试运算符重载。
第4题:
如下程序定义了“单词”类word,类中重载了<运算符,用于比较“单词”的大小,返回相应的逻辑值。程序的输出结果为:After Sorting:Happy Welcome,请将程序补充完整。
include<iostream>
include<string>
using namespace std;
class Word{
public:
Word(string s):str(s){}
string getStr(){retum str;}
【 】const{retum(str<w.str);}
friend ostream&operator<<(ostream&output,const W0rd&w)
{output<<w.str;return output;}
private:
string str:
};
int main(){
Word wl(”Happy”),w2(“Welcome”);
eout<<”After sorting:”:
if(w1<w2)tout<<wl<<‘ ’<<w2:
else cout<<w2<<‘ ’<<wl:
return 0;
}
第5题:
2、下面关于自定义类的运算符重载的说法中,正确的是()。
A.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数
B.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员
C.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同
D.所有运算符都可以以类友元形式进行重载