CII习题及其解答第版

上传人:M****1 文档编号:495859624 上传时间:2023-09-19 格式:DOCX 页数:34 大小:83.57KB
返回 下载 相关 举报
CII习题及其解答第版_第1页
第1页 / 共34页
CII习题及其解答第版_第2页
第2页 / 共34页
CII习题及其解答第版_第3页
第3页 / 共34页
CII习题及其解答第版_第4页
第4页 / 共34页
CII习题及其解答第版_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《CII习题及其解答第版》由会员分享,可在线阅读,更多相关《CII习题及其解答第版(34页珍藏版)》请在金锄头文库上搜索。

1、习题及其解答第 5 章 类与对象5.1 选择题7章1. 在下列结构变量的定义中,不正确的是( d )第8章第9章(b) struct char name 20 ; long code ;(d) struct char name20;long code; employee;employee emp;第10章(a) struct employee char name 20 ;long code ; emp ; emp ;(c) struct employee char name20;long code; ;employee emp;2.已知有职工情况结构变量em能义为:struct employe

2、e char name 20 ;long code ;struct int year ;int month ;int day ; birth ; emp ;下列对 emp 的 birth 正确赋值方法是( d )。(a) year = 1980 ; month = 5 ; day = 1 ;(b) birth.year = 1980 ; birth.month = 5 ; birth.day = 1 ;(c) emp.year = 1980 ; emp.month = 5 ; emp.day = 1 ;(d) emp.birth.year = 1980 ; emp.birth.month =

3、5 ; emp.birth.day = 1 ;3假定有以下声明和定义,则下面引用形式错误的是( b )。struct student int num ;float score ; stu3 = 1001,80,1002,75,1003,91,*p = stu ;(a) p-num(b) (p+).num(c) (p+)-num(d) (*p).num4下列四个运算符中,优先级最低的是( a )。(a) +(b) .(c) -(d) ()5若有以下声明和定义,则下列错误的引用是( d )。struct worker int no ;char name 20 ; w, *p = &w ;(a) w

4、.no(b) p-no(c) (*p).no(d) *p.no6若有以下声明和定义,则下列引用非法的是( d )。struct data int n;float score;data *q ;data a3 = 1001,87,&a1,1002,75,&a2,1003,90,&a0;data *p = a;(c) +p-n(d) *p-n(b) 对象是类的实例(d) 一个对象必属于某个类( c )。(b) private 或 protected 的类成员(d) public 或 private 的类成员(a) p-n+(b) (*p).n+7关于类和对象不正确的说法是( c )(a) 类是一种

5、类型,它封装了数据和操作(c) 一个类的对象只有一个8在类定义的外部,可以被访问的成员有(a) 所有类成员(c) public 的类成员9关于this 指针的说法错误的是( a,d )(a) this 指针必须显式说明(b) 当创建一个对象后, this 指针就指向该对象(c) 成员函数拥有this 指针(d) 静态成员函数拥有this 指针10声明一个类的对象时,系统自动调用 ( b,d ) 函数;撤消对象时,系统自动调用( c ) 函数。(a) 成员函数(b) 构造函数(c) 析构函数(d) 复制构造函数11下面对构造函数的 不正确 描述是 ( b )第11章 (a) 系统可以提供默认的构

6、造函数(b) 构造函数可以有参数, 所以也可以有返回值(c) 构造函数可以重载(d) 构造函数可以设置默认参数12下面对析构函数的正确描述是( a,c )。析构函数必须由用户定义析构函数可以设置默认参数所以静态成员函数拥有this 指针友元函数(d) 复制构造函数(a) 系统可以提供默认的析构函数(b)(c) 析构函数没有参数(d)13对静态成员的不正确描述是( c,d )。(a) 静态成员不属于对象,是类的共享成员(b) 静态数据成员要在类外定义和初始化(c) 调用静态成员函数时要通过类或对象激活,(d) 只有静态成员函数可以操作静态数据成员14下面选项中,不是类的成员函数为( c )。(a

7、) 构造函数(b) 析构函数 (c)15下面对友员的错误描述是( d )。(a) 关键字 friend 用于声明友员(b) 一个类中的成员函数可以是另一个类的友员(c) 友员函数访问对象的成员不受访问特性影响(d) 友员函数通过this 指针访问对象成员1 2 阅读下列程序,写出执行结果4 #include class A public :int f1();int f2();void setx( int m ) x = m ; cout x endl; void sety( int n ) y = n ; cout y endl; int getx() return x ; int gety(

8、) return y ; private :int x, y ;int A:f1() return x + y ; int A:f2() return x - y ; void main() A a ;a.setx( 10 ) ;a.sety( 5 ) ;cout a.getx() t a.gety() endl ;cout a.f1() t a.f2() endl ;答案:1051051555 #include class T public :T( int x, int y ) a = x ; b = y ;cout 调用构造函数1. endl ;cout a t b endl ;T( T

9、&d ) cout 调用构造函数2. endl ;cout d.a t d.b endl ;T() cout 调用析构函数 .endl; int add( int x, int y = 10 ) return x + y ; private :int a, b ;void main() T d1( 4, 8 ) ;T d2( d1 ) ;cout d2.add( 10 ) endl ;答案:调用构造函数1.4 8调用构造函数2.5 820调用析构函数.调用析构函数.6 #include class T public:T(int x) a=x; b+=x;static void display(

10、T c) couta=c.atb=c.bendl; private:int a;static int b; ;int T:b=5;void main() T A(3),B(5);T:display(A);T:display(B);答案:a=3b=13a=5b=137 #include #include class point public :point( float x, float y ) a = x; b = y; cout 点( a , b ) ; friend double d( point &A , point &B ) return sqrt(A.a-B.a) * (A.a-B.a

11、) + (A.b-B.b) * (A.b-B.b) ; private:double a, b ;void main() point p1( 2, 3 ) ;cout 到 ;point p2( 4, 5 ) ;cout 的距离是: d( p1,p2 ) endl ;答案:点( 3 , 4)到点( 4 , 5)的距离是:2.828438 #include class A public :A() a = 5 ; void printa() cout A:a = a endl ; private :int a ;friend class B ; ;class B public:void displa

12、y1( A t ) t.a + ; cout display1:a = t.a endl ; ;void display2( A t ) t.a - ; cout display2:a = t.a endl ; ;void main() A obj1 ;B obj2 ;obj1.printa() ;obj2.display1( obj1 ) ;obj2.display2( obj1 ) ;obj1.printa() ;答案:A:a = 5display1:a = 6display2:a = 4A:a = 55.3 编程题6.定义一个Book (图书)类,在该类定义中包括数据成员:booknam

13、e (书名)、price (价格)和number (存书数量);成员函数: display() 显示图书的情况; borrow() 将存书数量减1 ,并显示当前存书数量; restore() 将存书数量加1 ,并显示当前存书数量。在 main 函数中, 要求创建某一种图书对象, 并对该图书进行简单的显示、 借阅和归还 管理。解 答:#include #include #include class Book public:void setBook(char*,float,int);void borrow();void restore();void display();private:char bookname40;float price;int number;/ 在类外定义Book 类的成员函数void Book:setBook(char *name, float pri, int num) strc

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号