- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
杭州电子科技大学C面向对象程序设计_期末考试试题(A)卷
判断题(15分)(对的打√,错的打╳)
友元函数用于允许一个函数访问不相关类的私有部分。
构造函数可以被继承。
动态绑定的多态性是通过虚函数实现的。
在c++中,传引用调用等同于传地址调用。
重载函数必须有不同的参数列表。
可以用delete释放不是用new运算符分配的内存。
类成员的默认访问模式是private。
在类Time中的析构函数可以声明为:void ~Time(int);
const对象必须初始化。
在c++中,只能重载已有的运算符。
二 、选择题(20分)
1. 关键字 ____________ 说明对象或变量初始化后不会被修改。
a. static b. public c. const d. inline
2. 如果调用带有默认参数的函数时缺少一个参数,则______________参数就作为这一参数。
a. 第一个 b. 最后一个 c. 中间一个 d. 以上都不是
3. 成员函数可声明为静态的,条件是它不访问 __________类成员。
a. 静态 b. 常数 c. 非静态 d. 公共
4. 内联函数执行起来比标准函数_______________。
a. 更慢 b. 更快 c. 次数更多 d. 以上都不是
5. 默认参数的值由___________________提供。
a. 该函数 b. 调用程序 c. 上述二者 d. 以上都不是
6. 在 C++ 中,混合类型表达式_____________。
a. 允许存在 b. 为一错误 c. 从 int 到 float d. 从 float 到 int
7. 表达式 long(intVar) 也可表示为 _______________。
a. intvar = long; b. intVar(long) c. (long)intVar d. 以上都不是
8. 静态数据成员的生存期_________________。
a. 与整个程序相同 b. 不长于类的生存期
c. 取决于创建的对象数 d. 以上都不是
9. 要让一个类中的所有对象具有共同的数据,请使用__________________。a. 常数成员变量 b. 私有数据成员
c. 静态数据成员 d. 以上都是
10.
三 、指出下列程序片段中的错误标号,写出正确语句或解释错在何处。(20分)
①int index=675;
②const int *ptr=index;
③int *const ntptr=index;
④*ptr=555;
⑤*ntptr=666;
⑥int another=8;
⑦ptr=another;
⑧ntptr=another;
①int arrp;
②arrp=new int[15];
③delete arrp;
3)下面程序为什么会编译错误,并改正错误(提出解决办法)。
class window
{
protected:
int basedata;
};
class border: public window
{ };
class menu: public window
{ };
class border_and_menu: public border, public menu
{
public:
int show()
{ return basedata;
}
4)改正下面程序段中的错误,写出整个正确的程序段
templateT
void print(T *a)
{ couta’\n’;}
void main( )
{
const int x=0;
couty’\n’;
int y;
x=5;
int* p
p=y;
print(p);
return 0;
}
四 、写出下面程序的执行结果:(15分)
1)#include iostream
using namespace std;
class A
{friend double count(A);
public:
A(double t, double r):total(t),rate(r){}
private:
double total;
double rate;
};
double count(A a)
{
a.total+=a.rate*a.total;
return a.total;
}
int main(void)
{
A x(80,0.5),y(100,0.2);
coutcount(x),count(y)\n;
coutcount(x
文档评论(0)