PTA理论题

1.以下哪个选项中的p不是指针:

A.

int **p;

B.

int (*p)[5];

C.

int *p[6];

D.

struct Stu{
    char name[20];
    int age;
}*p, q;

2. 

假设A 是一个类的名字,下面哪段程序不会调用A的复制构造函数?

A.

A func( ) { A tmp; return tmp; }

B.

void func( A a) { cout << "good" << endl; }

C.

A a1; A a2(a1);

D.

A a1,a2; a1 = a2;

3.下面关于成员函数和常成员函数的程序,其主函数中错误的语句是

#include<iostream>
using namespace std;
class MyClass {
public:
    MyClass(int x): val(x) {}
    void Set(int x) {val = x;}
    void Print()const {cout << "val=" << val << '\t';}
private:
    int val;
};
int main() {
    const MyClass obj1(10);
    MyClass obj2(20);
    obj1.Print();    //语句 1
    obj2.Print();    //语句 2
    obj1.Set(20);  //语句 3
    obj2.Set(30);  //语句 4
    return 0;
}

A.

语句 1

B.

语句 2

C.

语句 3

D.

语句 4

4.下列关于this指针的叙述中,正确的是

A.

任何与类相关的函数都有this指针

B.

类的成员函数都有this指针

C.

类的友元函数都有this指针

D.

类的非静态成员函数才有this指针

5.以下说法正确的是?

A.

在静态成员函数中可以调用同类的其他任何成员函数

B.

const成员函数不能作用于非 const 对象

C.

在静态成员函数中不能使用 this 指针

D.

静态成员变量每个对象有各自的一份

6.下列哪一种情况下,类的复制构造函数不会被调用

A.

用类的一个对象赋值给另一个对象时

B.

当用类的一个对象去初始化该类的另一个对象时

C.

如果函数的形参是类的对象,调动函数时,进行形参和实参结合时

D.

如果函数的返回值是类的对象,函数执行完成返回调用者时

7.函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。

T

F

8.假设在公有派生情况下,以下说法不正确的是

A.

可以将基类对象复制给派生类对象

B.

可以将派生类对象的地址复制给基类指针

C.

可以将派生类对象赋值给基类的引用

D.

可以将派生类对象赋值给基类对象

9.以下说法正确的是?

A.

派生类可以和基类有同名成员函数,但是不能有同名成员变量

B.

派生类的成员函数中,可以调用基类的同名同参数表的成员函数

C.

派生类和基类的同名成员函数必须参数表不同,否则就是重复定义

如果不相同,就会成为函数重载而不是覆盖了

D.

派生类和基类的同名成员变量存放在相同存储空间

10.虚析构函数的作用是。

A.

虚基类必须定义虚析构函数

B.

类对象作用域结束时释放资源

C.

delete动态对象时释放资源

D.

无意义

11. 关于纯虚函数和抽象类的描述中,( )是错误的。

A.

纯虚函数是一种特殊的虚函数,它没有具体的实现

B.

一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类

C.

抽象类是指具有纯虚函数的类

D.

抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出

12.关于动态绑定的下列描述中,( )是错误的。

A.

动态绑定是以虚函数为基础的

B.

动态绑定在运行时确定所调用的函数代码

C.

动态绑定调用函数操作是通过指向对象的指针或对象引用来实现的

D.

动态绑定是在编译时确定操作函数的

13.关于纯虚函数和抽象类的描述中,( )是错误的。

A.

纯虚函数是一种特殊的虚函数,它没有具体的实现

B.

抽象类是指具有纯虚函数的类

C.

一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类

D.

抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出

14.下面关于基类与派生类的叙述中,不正确的是____。

A.

派生类一般都用公有派生

B.

对基类成员的访问必须是无二义性的

C.

赋值兼容规则也适用于多重继承的组合

D.

基类的公有成员在派生类中仍然是公有的

15.下面关于基类与派生类的叙述中,不正确的是____。

A.

派生类一般都用公有派生

B.

对基类成员的访问必须是无二义性的

C.

赋值兼容规则也适用于多重继承的组合

D.

基类的公有成员在派生类中仍然是公有的

公有派生

16.派生类中虚函数原型的()。

A.

函数类型可以与基类中虚函数的原型不同

B.

参数个数可以与基类中虚函数的原型不同

C.

参数类型可以与基类中虚函数的原型不同

D.

以上都不对

17.不列哪一项不是动态联编实现的条件?

A.

要有说明的虚函数

B.

调用虚函数操作的是指向对象的指针

C.

调用虚函数操作的是对象引用

D.

由对象调用虚函数

  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值