杭电c++期末卷

这篇博客详细介绍了杭电C++期末考试的重点内容,包括判断题、选择题和程序理解。涉及到的知识点包括友元函数的作用、构造函数的特性、虚函数与多态性、引用与地址的区别、重载函数的规则、内存管理和类的访问权限。同时,还解析了程序片段中的错误和正确做法,如指针类型、静态成员的使用以及消除二义性的方法。
摘要由CSDN通过智能技术生成

一,判断题

1、友元函数用于允许一个函数访问不相关的私有部分。
2、构造函数可以被继承。
3、动态绑定的多态性是通过虚函数实现的。
4、在c++中,传引用等同于传地址调用。
5、重载函数必须有不同的参数列表。
6、可以用delete释放不是new运算符分配的内存。
7、类成员的默认访问方式是private。
8、在类Time中析构函数可以声明为:void~Time(int);
9、const对象必须初始化。
10、在c++中,只能重载已有的运算符。

·

·

·
答案:
1、√
理解一下友元函数的性质就知道了。
2、×
构造函数是不可以被继承的。
3、√
虚函数对于多态具有决定性的作用,有虚函数才能构成多态。
4、×
传引用不能等同于传地址,在函数调用时,传地址是把一个地址传给一个指针。
5、√
如果同一作用域内的几个函数名字相同但形参列表不同,我们称之为函数重载(overload)。
6、X
在c++中,运算符new分配的动态内存空间,只能由delete删除释放,同理delete只能删除释放new分配的内存空间。
7、√
用class定义,它的成员变量值只能在其内部访问,也就是默认访问权限是private。
8、×
析构函数只能有一个,并且是无参数的。
9、√
const定义的变量值不能够被改变,因此必须要初始化。
10、√
不存在的运算符咋重载。

二、选择题

1、关键字_____说明对象或变量初始化后不会被修改。
答案:const
2、如果调用带有默认参数的函数时缺少一个参数,则_____参数就作为这个参数。
答案:最后一个参数
3、成员函数可以声明为静态的,条件是它不访问_____类的成员。
答案:非静态类
4、内敛函数执行起来比标准函数_______。
答案:更快
5、默认参数的值是由_________提供。
答案:该函数和调用程序
6、在c++中,混合类型表达式________。
答案:是允许存在的
7、表达式long(intVar)也可以表示为_____。
答案:(long)intVar
8、静态数据成员的生存期_______ 。
答案: 与整个程序相同。
9、要让一个类中的所有对象具有共同的数据,请使用______。答案:静态数据成员。
10、设置虚基类的目的是:
答案:消除二义性

三、指出下列程序片段的错误标号,写出正确的语句或解释错在何处。

1、

1) int index=675;
2)const int *ptr=&index;
3) int *const ntptr=&index;
4) *ptr=555;
5) *ntptr=666;
6) int another=8;
7) ptr=&another;
8) ntptr=&anther;

解析:2)const int *ptr 是指这个指针指向的是常量对象。指向的值类型必须是const int ××;
3)int *const ntptr 是一个常量指针,它只能指向一个对象,就不能把其他的变量赋值给它。
4)错误,我们只能读取*ptr的值,但是不可以赋值给它。
8)*ntptr是常量指针,不能指向别的变量。

2、

int app;
app=new int[15];
delete app;

int app应该改为 int* app;
delete app 应该改为: delete[] app;

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;  //报错
    }
};

上述代码报错的原因分析: basedata重名,会产生二义性,应该使用虚基类,代码修改为:
class border:virtual public window {};
class menu:virtual public window {};

===========================================

template<T
  • 7
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值