- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)