C++练习题及答案(四) |
您所在的位置:网站首页 › 关于具有转换函数功能的构造函数 › C++练习题及答案(四) |
第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 |