资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
二、填空题 (共10题,共20分)1. 类成员的访问权限分为_public_、_protected_和_private_三类。 (2分)2. 下列语句序列执行后输出10,请将划线处的语句补充完整。class MyClass public: MyClass(int x):val(x) void Print();private:int val;void MyClass:Print() coutvalendl; int main() MyClass obj(10);obj.Print();return 0;3. 有两个类M和C,其中类C定义如下:class C public: M m; ;。若建立类C的对象object,则对象m和对象object中后被初始化的是对象_object_。 (2分)4. 下列语句序列执行后输出Hello,请将划线处的语句补充完整。(2分)class MyClass public: void Print() const coutPrint();return 0;5. 请在划线处填写正确内容,使类MyClass的复制构造函数的声明完整。(2分) class MyClass public: MyClass(const _MyClass&_ obj); ; 6. 为了解决多继承产生的_菱形继承_问题,在C+中引入了虚基类。(2分)7. 派生新类的类称为_父类_,而派生出的新类称_子类_。(2分)8. 运算符函数的函数名是由运算符前加关键字_operator构成的。 (2分)9. 下列语句序列的输出结果是_100_。 (2分)class MyClass public: MyClass(int x) coutx; MyClass() cout0; ;int main() MyClass obj1(1),obj2(obj1),&ptr=obj1;return 0;10. 所有在类内部定义的成员函数都是内联 函数。 (2分)三、改错题 (共1题,共10分)下列程序中有三个错误,请改正错误(注意不要修改主函数),使程序的输出结果为: The point is (0,1)The point is (3,5)源文件清单如下:Line1:#include Line2:class Point Line3:public:Line4:Point(int xx=0, int yy) : x(xx), y(yy) Line5:void Move(int xOff, int yOff) const Line6:x+=xOff; y+=yOff;Line7:Line8:void Print() const Line9: coutThe point is (x, y)endl; Line10:private:Line11:int x,y=0;Line12:;Line13:int main() Line14:Point p1,p2(2,1);Line15:p1.Print();Line16:p2.Move(1,4);Line17:p2.Print();Line18:return 0;Line19:Line4: Point(int xx=0, int yy=1) : x(xx), y(yy) Line5: void Move(int xOff, int yOff) Line11:int x,y;二、填空题 (共10题,共20分)1. 类的三种继承方式是_公有继承(public),保护继承(protect),私有继承(private)。(2分)2. 下列语句序列的输出结果是_120000_。(2分) class MyClass public: MyClass(int x=0) coutx; MyClass() cout0; ;int main() MyClass arr3=MyClass(1),MyClass(2);return 0;3. 下列语句序列执行后输出10,请将划线处的语句补充完整。(2分)class MyClass public:MyClass(int x) : _ val(x)_ void Print( ) coutvalendl; private:int val;int main() MyClass obj(10);obj.Print();return 0;4. 请在划线处填写正确内容,使类Test的复制构造函数的声明完整。(2分)class Testpublic: Test(const _Test&_obj); ;5. 在C+中,_函数重载_是指同一个函数名可以对应多个函数的实现。(2分)6. 请在划线处写出MyClass类的析构函数声明。(2分)class MyClass public:_ MyClass ();_;7. 下列语句序列执行后输出Hello,请将划线处的语句补充完整。(2分)class MyClass public: void Print() const coutPrint();return 0;8. 运算符函数的函数名是由运算符前加关键字_ operator _构成的。 (2分)9. 请在划线处填写构造函数的声明,使得语句Point p1;创建的p1对象为原点。(2分) class Point public: _ Point p1(int x=0,int y=0);_ private: int x,y; ; 10. 有两个类M和C,其中类C定义如下:class C public: M m; ;。若建立类C的对象object,则对象m和对象object中后被初始化的是对象_object_。三、改错题 (共1题,共10分)下列程序中有三个错误,请改正错误(注意不要修改主函数),使程序的输出结果为:Kelly is 10 years old.Patrick is 35 years old.源文件清单如下:Line1:#include Line2:class Person Line3:public:Line4:Person(char *str, int _age=10) : age(_age) Line5: name=new charstrlen(str+1); strcpy(name,str); Line6:void Person() delete name; Line7:void SetAge(int num) const age=num; Line8:void Print() const Line9: coutname is age years old. endl; Line10:private:Line11:char *name;Line12:int age=0;Line13:;Line14:int main() Line15:Person p1(Kelly),p2(Patrick,25);Line16:p1.Print();Line17:p2.SetAge(35);Line18:p2.Print();Line19:return 0;Line20:Line6:Person() delete name; Line7:void SetAge(int num) age=num; Line12:int age;二、填空题 (共10题,共20分)1. 在C+中,_函数重载_是指同一个函数名可以对应多个函数的实现。(2分)2. 下列语句序列执行后输出10,请将划线处的语句补充完整。(2分) class MyClass public: MyClass(int x):val(x) void Print() coutvalendl; private:int val;int main() MyClass obj(10);obj.Print();return 0;3. 已知一个函数的原型是double fun(double x);,若要以4.25为实参调用该函数,应使用表达式_ fun (4.25)_ 。 (2分)4. 下列语句序列执行后输出Hello,请将划线处的语句补充完整。(2分)class MyClass public: void Print() const coutPrint();return 0;5.有两个类M和C,其中类C定义如下:class C public: M m; ;。若建立类C的对象object,则对象m和对象object中先被初始化的是对象_m_。(2分)6. 请在划线处填写构造函数的声明,使得语句Point p1;创建的p1对象为原点。(2分)class Point public: _Point p1(int x=0,int y=0);_ private: int x,y; ; 7. 请在划线处写出MyClass类的析构函数声明。(2分)class MyClass
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号