C++练习题及答案(四)

您所在的位置:网站首页 关于具有转换函数功能的构造函数 C++练习题及答案(四)

C++练习题及答案(四)

2024-07-16 22:13| 来源: 网络整理| 查看: 265

第7章练习题

同步练习7.1

一、选择题

1.在下列运算符中,不能重载的是(    )。

(A)!                      (B)sizeof            (C)new               (D)delete

2.在下列关于运算符重载的描述中,(    )是正确的。

(A)可以改变参与运算的操作数个数         (B)可以改变运算符原来的优先级

(C)可以改变运算符原来的结合性            (D)不能改变原运算符的语义

3.运算符函数是一种特殊的(    )或友元函数。

(A)构造函数           (B)析构函数        (C)成员函数        (D)重载函数

4.设op表示要重载的运算符,那么重载运算符的函数名是(    )。

(A)operator op        (B)op                 (C)函数标识符     (D)函数标识符op

5.用于类运算的运算符通常都要重载。但有两个运算符系统提供默认重载版本,它们是(    )。

(A)->和.               (B)++和--         (C)=和&             (D)new和delete

【解答】         B     D     C     A     C

二、程序练习

阅读程序,其中s::connect函数实现字符串连接。把这个成员函数改写为重载+运算符函数,并修改main函数的对应代码,使其正确运行。

#include #include using namespace std; class s { public: s() { *str = '\0'; len = 0; } s( char *pstr ) { strcpy_s( str,pstr ); len = strlen(pstr); } char *gets() { return str; } int getLen() { return len; } s connect( s obj ); //字符串连接函数声明 private: char str[100]; int len; }; s s::connect( s obj ) //字符串连接函数定义 { strcat_s( str,obj.str ); return str; } int main() { s obj1( "Visual" ), obj2( " C++" ), obj3(" language"); obj3 = (obj1.connect(obj2)).connect(obj3); //调用字符串连接函数 cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3