- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c2012半期考试试题1
一、单项选择题
1. 关于C++与C语言的关系的描述中,错误的是( )
(A) C语言是C++的子集 (B) C语言与C++是兼容的
(C) C++对C语言进行了一些改进 (D) C++和C语言都是面向对象的
2. 假定AB为一个类,则该类的拷贝构造函数的声明语句为( )
(A)? AB (AB? x)? (B)AB(AB? x) (C)? AB(AB? )?(D)? AB(AB * x)
3. 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:( )
(A) ?AB ?operator+(AB ? a , AB ?b)?(B) ?AB ?operator+(AB ? a)
(C) ?operator+(AB ?a) (D) ?AB ? operator+( )
4.作用域运算符::适用于情况下使用A)定义一个类的对象时B)定义私有的成员函数时C)在类定义体内定义成员函数时D)在类定义体外定义成员函数时 ? 下面有关重载函数的说法中正确的是??
(A) 重载函数必须具有不同的返回值类型 B) 重载函数形参个数必须不同 ?? C) 重载函数必须有不同的形参列表 D) 重载函数名可以不同? 下列关于构造函数的描述中,错误的是?? (A) 构造函数可以设置默认参数B) 构造函数在定义类对象时自动执行 ?C) 构造函数可以是内联函数 D) 构造函数不可以重载?? 指针 (B) 对象 (C) 类 (D) 继承
12.下面函数( )的表示方法说明它使用对象的引用作为参数
(A) test(pt *pp) (B) test(pt pp) (C) test(pt pp) (D) test(const pp)
14.重载函数在调用时选择的依据中,( )是错误的
(A) 参数个数 (B) 参数类型 (C) 函数名字 (D) 函数类型
二、名词解释
1重载函数 2构造函数 3引用
三、判断分析题(判断正误,并简述理由)
1..int onst *p 是常指针,指针是不能改变的。( )
3.在C++中,关键字class与struct具有完相同的作用。#includeiostream.h
class Sample {
protected:
int n;
public:
Sample(int i){n=i;}
Sample(const Sample Obj){n = Obj.n; coutSample Copyendl;}
friend Sample add(Sample s1,Sample s2,Sample *s3);
void out(){coutn endl;}
};
Sample add(Sample s1,Sample s2,Sample *s3) {
couts1.n + s2.n + s3-nendl;
s1.n = 10; s2.n = 10; s3-n = 10;
return *s3;
}
int main( )
{
Sample s1(10),s2(20),s3(30); Sample tem = add(s1,s2,s3);
s1.out( ); s2.out( ); s3.out( );
return 0;
}
执行上面的程序将输出什么结果?
2. #include iostream.h
class A {
int a;
public:
void set(int x = 0){a = x;} void put( ){cout a endl;}
void func(A b ) {
b.put( ); b.set(5); put( );
A objA1; objA1.set(2); objA1.put( );
put( ); b.put( );
}
};
int main( ) {
A objA; objA.set(1);
objA.put( ); objA.func(objA);
objA.put( );
return 0;
}
执行上面的程序将输出什么结果?
五、改错,说明错误的原因,并改正
1. #includeiostream.h
class array {
public:
array(int i,int j) {
文档评论(0)