正在进行安全检测...

发布时间:2023-09-20 11:03:10

112上海大学20152016学年度秋季学期试卷(A课程名:面向对象程序设计课程号:08305121学分:5应试人声明:我保证遵守《上海大学学生手册》中的《上海大学考场规则》,如有考试违纪、作弊行为,愿意接受《上海大学学生考试违纪、作弊行为界定及处分规定》的纪律处分。应试人应试人学号应试人所在院系题号得分(20(20(20(40——————————————————————————————————————一、判断题(每小题2分,共20分)((×((1.类的构造函数的函数名与类名相同,可以重载构造函数。2.类的析构函数可以被重载。3.重载运算符函数不能改变运算符的操作数个数、优先级和结合方向。4.引用在声明时必须对其初始化,以绑定某个已经存在的变量(或对象)在该引用的生命期内,该绑定不能被更改。5.指针变量在定义时必须对其初始化,以锁定某个已经存在的目标变量(或对象),在该指针变量的生命期内,该指向不能被更改。6.类的非静态成员函数均有一个隐含的形式参数this指针常量,用于指向调用该函数的对象。函数体中不能改变该指针常量的指向(即锁定调用该函数的对象)7.派生类继承了基类的所有数据成员,并且在派生类的成员函数中都能直接访问基类的访问属性为private的成员。8.构造派生类对象时,先调用基类的构造函数,后执行派生类的构造函数。析构派生类对象时,先调用基类的析构函数,后执行派生类的析构函数。9.含纯虚函数的类称为抽象类,不能创建抽象类的对象,不能定义抽象类的指针变量,不能声明抽象类的引用。10.用返回的函数可以作左值,也避免了函数值返回时创建与返回类型相同的临时无名对象。(×((×(×(×(
212根据运行结果,完成程序。#include#include#includeusingnamespacestd;classString{public:String(constchar*str=""{size=strlen(str;x=size>0?newchar[size]:NULL;if(x==NULLsize=0;for(inti=0;ix[i]=str[i];}String(constString&s:x(NULL{*this=s;//直接利用深赋值运算符函数}virtual~String({if(x!=NULLdelete[]x;size=0;}String&operator=(constString&s{if(this==&sreturn*this;if(x!=NULLdelete[]x;size=s.size;x=newchar[size];if(x==NULLsize=0;for(inti=0;ix[i]=s.x[i];return*this;}char&operator[](intindex{returnx[index];}friendostream&operator<<(ostream&out,constString&s{二、填空题(每空2分,共20分)如下设计了一个字符串类String,请

正在进行安全检测...

相关推荐