c++题库练习

19.

以下叙述中正确的是()

A 使用typedef说明新类型名时,其格式是: typedef 新类型名 原类型名;

B 在程序中,允许用typedef来说明一种新的类型名

C 使用typedef 说明新类型名时,后面不能加分号

D 在使用typedef改变原类型的名称后,只能使用新的类型名

正确答案:B

注意区分

#define 后面不加分号

typed 后面要加分号

20.头文件已经正常包含,以下代码在VS IDE上编译和运行结果是

1

2

3

4

5

6

7

8

9

10

class A{

    public:

    void test(){printf("test A");}

};

int main()

{

    A *pA = NULL;

    pA->test();

    return 0;

}

A

编译出错

B

程序运行奔溃

C

输出"test A"

D

输出乱码

正确答案:C

21.在C语言中,以下代码执行之后,*p的值为()

1

2

3

4

5

6

7

8

9

10

11

12

void func(int *p){

    static int num = 4;

    p = #

    (*p)--;

}

int main(){

    int i = 5;

    int *p = &i;

    func(p);

    printf("%d", *p);

    return 0;

}

A 3

B 4

C 5

D 以上都不是

正确答案:C

在函数里,指针p又重新定位成num的地址空间,所以在函数中的自减是修改num的值;而当在main函数中的p指针依然指向 i 的地址空间,在func中没有被修改,那么值不变;

如果函数去掉num,如下:

void func(int *p)

{

(*p)--;

}

此时,就是修改 main函数中 i 的值了。

22.下列for循环的循环体执行次数为

1

for(int i=10, j=1; i=j=0; i++, j--)

A 0

B 1

C 无限

D 以上都不对

正确答案:A

cout<<boolalpha<<(i=j=0);

cout<<boolalpha<<(i=j=1);

可以运行一下这两个结果为0,1

26.继承是面向对象的三个特点之一,下列关于继承特点的说法正确的有

A 公有继承的特点是基类的公有成员和保护成员作为派生类的成员时,它们都保持原有的状态,而基类的私有成员仍然是私有的,不可以被这个派生类的子类所访问。

B 私有继承的特点是基类的公有成员和保护成员都作为派生类的私有成员,并且不能被这个派生类的子类所访问。

C 公有继承的特点是基类的公有成员和保护成员都成为派生类的公有成员,而基类的私有成员仍然是私有的,不能被这个派生类的子类所访问。

D 保护继承的特点是基类的所有公有成员和保护成员都成为派生类的保护成员,并且只能被它的派生类成员函数或友元访问,基类的私有成员仍然是私有的。

正确答案:ABD

28.在声明类时,下面的说法正确的是()

A 可以在类的声明中给数据成员赋初值(c++11新标准)

B 数据成员的数据类型可以是register

C private、public、protected可以按任意顺序出现

D 没有用private、public、protected定义的数据成员是公有成员

正确答案:AC

官方解析:C++中没有限定private、public、protected的书写次序但是,不能在类的声明中给数据成员赋初值,数据成员的数据类型也不能是register。没有用private、public、 protected定义的数据成员是私有成员

29.以下对于方法覆盖(方法重写)的说法正确的有()

A 方法覆盖发生在同一类中

B 方法的覆盖发生在子类型中

C 方法名一定要一样

D 参数类型一定要一样

E 返回类型一定要一样

F 访问权限只能一样

正确答案:BCD

30. 以下关于类占用内存空间的说法正确的是

A 类所占内存的大小是由成员变量(静态变量除外)和虚拟函数表指针空间(若有虚函数)所决定

B 空类的内存大小是1个字节

C 类中无论有多少个虚函数,只会多占一个虚表指针空间

D 子类的内存大小等于父类的内存大小加上子类独有成员变量的内存大小

正确答案:ABCD

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值