C上机期末考题答案.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一 改错 阅读下列程序,改正程序中的错误。 ( 1) class A {private: int x,y ; public : void fun(int i,int {x=i;y=j ;} void show()  j=0 ) {coutx “” yendl;} } ; void main() {A a1; (2); (); } 2) #include iostream class Date; class Time {public: Time(int h,int m,int s) {hour=h,minute=m,sec=s ;} void show(Date d) ; private: int hour,minute,sec; }; class Date {public: Date(int m,int d,int y) {month=m,day=d,year=y;} friend void Time::show(Date ) ; private: int month,day,year; }; void Time::show(Date d) {cout --endl; couthour:minute:secendl;} void main() {Time t1(9,23,50); Date d1(12,20,2008); (d1);} (3) #include class Test {private: int x,y=20; static int m; public: Test(int i,int j){x=i,y=j;} int getx(){return x;} int gety(){return y;} static int f(){return m;} }; int Test::m=0; void main() {Test mt(10,20); cout endl; cout endl; } 二.填空题 1.一个类的头文件如下所示, num初始化值为 5,程序产生对象 T,且修改 num为 10,并使用 show() 函数输出 num的值 10。 #include class Test {private: static int num; public: Test(int); void show(); }; _________ Test::Test(int n) {num=n;} void Test::show() {coutnumendl;} void main() {Test t(10); _________ } 答案: int Test::num=5; ,(); 2)在下划线处填上缺少的部分。 #include class A {int a,b; public: _____;给出下面程序输出结果。 #include class example {int a; public: example(int b=5){a=b++;} void print(){a=a+1;cout a;} void print()const {coutaendl;} }; void main() {example x; const example y(2); (); (); } 答案: 62[解析] x是普通对象,调用普通的 print 函数;而 y常对象,调用常成员函数。 2) #include class My {public: My(){coutA;} My (char c){coutc;} ~My (){coutB;}}; int main() {My p1,*p2; p2=new Myclass[2]; delete p2; return 0;} 答案 AAAXXB 3) class A {float x; public: A(int a) { x=a; cout 调用了 A 的构造函数 \n; } ~A() { cout 调用了 A 的析构函数 \n; }}; class B{ float y; public: B(int a) { y=a; cout 调用了 B 的构造函数 \n; } ~B() { cout 调用了 B 的析构函数 \n; }}; class C{ float z; B b1; A a1; public: C(int a, int b, int c) : a1(a), b1(b) { z=c;cout 调用 了 C的构造函数 \n; } ~C() { cout 调用了 C的析构函数 \n; } }; void main(void) { C c1(1, 2, 3); } 调用了 B 的构造函数 调用了 A 的构造函数 调用了 C的构造函数 调用了 C的析构函数 调用了 B 的析构函数 调用了

文档评论(0)

150****2233 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档