- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2010程序实习期末试题A卷
北京大学信息科学技术学院考试试卷
考试科目: 姓名: 学号:
考试时间: 年 月 日 任课教师:
题号 一 二 三 四 五 六 七 八 总分 分数 阅卷人
以下以下为答题纸,共 页
以下为试题和答题纸,共 11 页。
得分 一、单项选择题(共20分,每题2分)
关于类的对象,说法错误的是:( )
释放对象时,相应类的析构函数被自动执行;
在成员函数中,只能访问当前对象的private成员;
对象的成员变量可以是其他类的对象;
同类的对象间,可以互相赋值。
以下关于抽象类的说法正确的是:( )
A. 抽象类的成员函数中,不能出现对本类纯虚函数进行调用的语句;
B. 抽象类至少含有一个静态成员函数;
C. 抽象类至少含有一个纯虚函数;
D. 可以定义抽象类的对象。
以下说法中正确的是:( )
A. 构造函数中可以调用本类的静态成员函数;
B. 构造函数和析构函数都可以是虚函数;
C. 通过赋值号“=”用一个对象对另一个对象进行赋值,就会引发复制构造函数的调用;
D. 用 new 运算符动态创建对象时,用于初始化该对象的一定是无参数的构造函数。
以下说法正确的是:( )
在虚函数中不能使用this指针;
const成员函数中不可以使用this 指针;
抽象类的成员函数都是纯虚函数;
析构函数可以是虚函数。
关于运算符重载,说法错误的是:( )
运算符重载函数的参数的个数等于该运算符的操作数的个数减一;
运算符“::”是不能被重载的;
运算符“++”只能被重载为成员函数;
同一个运算符可以被重载多次。
关于类的静态成员,说法错误的是:( )
在类的静态成员函数中,可以访问该类的静态成员变量;
在类的非静态成员函数中,不可以访问该类的静态成员变量;
不需要创建类的对象,就可以访问类的静态成员;
类的静态成员变量由该类的全部对象共有。
关于标准模板库中的容器,说法正确的是:( )
在multiset型的容器中,可以同时存储多个相同的元素;
list型的容器和vector型的容器都支持元素的随机访问;
在set型的容器中,各元素的存储位置取决于它们的插入顺序;
在map型的容器中,不同元素的关键字key和值value都必须不同。
假设p1,p2 是STL中的set 容器上的迭代器,那么,以下语句中哪个不符合语法:( )
A. p1 ++ ;
B. p1 --;C. p1 = p2 -- ;D. int n = ( p1 == p2 + 1 );
下面哪个STL的算法要求被操作的容器是排好序的:( )
A. sort
B. accumulate
C. find
D. upper_bound
若类B是从类A派生而来,而语句 p.Do(); 在被多次执行时,有的时候调用的是类A的Do成员函数,有的时候调用的是类B的Do成员函数,那么 p 的类型可以是:( )
A
A *
B
A
得分 二、以下程序编译、连接都能通过,请写出运行时输出的结果。你认为没有输出的,就写“无输出”。(共32分,每题4分)
(本题4分)
#include iostream
using namespace std;
class A{
int value;
public:
A(int val){
value = val;
coutvalue is created!
endl;
}
~A(){
coutvalue
is destroyed!endl;
}
void print(){
coutvalueendl;
}
};
int main(){
A temp1(2);
temp1.print();
return 0;
}
(本题4分)
#include iostream
using namespace std;
class A {
public:
int n;
A( A a) { n = 3 * a.n; }
A( int k):n(k) { }
};
void PrintA( A a){
cout a.n endl;
}
int main(){
A a1(4), a2(5), a3(a2);
PrintA(a3);
a3 = a1;
cout a1.n , a2.n
, a3.n endl;
return 0;
}
(本题4分)
#include iostream
using namespace std;
class A {
public:
文档评论(0)