( 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 】 con

题目

( 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;

}


相似考题
更多“( 14 )如下程序定义了 “ 单词 ” 类 word ,类中重载了 &lt; 运算符,用于比较 “ 单词 ” 的大小,返 ”相关问题
  • 第1题:

    下列关于赋值运算符“=”重载的叙述中,正确的是

    A.赋值运算符只能作为类的成员函数重载

    B.默认的赋值运算符实现了“深层复制”功能

    C.重载的赋值运算符函数有两个本类对象作为形参

    D.如果已经定义了复制(拷贝)构造函数,就不能重载赋值运算符


    正确答案:A
    解析:=、[]、()、->以及所有的类型;转换运算符只能作为成员函数重载,A项正确。默认的赋值运算符只实现了浅层复制,B项错误。赋值运算符只能作为成员函数重载,形参表中只有一个参数,对应于第二操作数,C项错误。一个类中如果需要重载运算符 “=",通常也就需要定义自己特有的复制构造函数,反之亦然,故D项错误。

  • 第2题:

    下面关于自定义类的运算符重载的说法中,正确的是()。

    A.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数

    B.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员

    C.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同

    D.所有运算符都可以以类友元形式进行重载


    类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员;类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同

  • 第3题:

    定义一个复数类complex, 重载运算符 “+”,使之能用于复数的加法运算,将运算符函数重载为成员函数;重载运算符 “-”,使之能用于复数的减法运算,将运算符函数重载为友元函数。编写主函数,测试运算符重载。


    friend complex& operator--(complex&) friend complex& operator--(complex&) 解析:本题考核运算符重载的定义。程序要填入的是运算符函数operator--在类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;

    }


    正确答案:bool operator<(Word w)
    bool operator<(Word w) 解析:由语句。return(str<w.slr)知其返回值为bool类型。作为类的成员函数它只有一个Word类型的参数w。

  • 第5题:

    2、下面关于自定义类的运算符重载的说法中,正确的是()。

    A.类友元形式重载的运算符,重载函数中的this指针指向第一个运算数

    B.类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员

    C.类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同

    D.所有运算符都可以以类友元形式进行重载


    类友元形式重载的运算符,重载函数中可以直接访问类中的私有成员;类友元形式重载的运算符,重载函数的参数个数与运算符的实际操作数个数相同