C++选择题带答案


(1)    ____一般很简单并且运行速度很快。
A)重载函数               B)友元函数
C)内联函数               D)递归函数

(2)    下面不是构造函数所具有的特性的是____。
A)构造函数的名字和类名相同        B)构造函数可以重载
C)构造函数可以有默认参数          D)构造函数必须有返回值

(3)    在C++中,关于函数默认参数的描述正确的是____。
A)在C++中不允许有默认参数      B)只有在定义函数时才可以设置默认参数
C)默认参数的设置必须从右向左进行D)当设置默认参数时,必须对所有参数都设置默认参数

(4)    重载运算符“=”时,应该把它声明成类的____函数。
A)友元函数                        B)虚函数
C)成员函数                        D)多态函数

(5)    对定义重载函数的下列要求中,    是错误的。
A)参数的个数可以不同                  B) 要求函数的返回值不同
C)要求参数个数相同时,参数类型不同    D)参数中至少有一个类型不同

(6)    下面是类sample的声明:
class sample
{int n;
public:
   sample(int n1=0):n(n1){}
   void setvalue(int i);
};
则下面      是成员函数setvalue的正确实现。
A)sample::setvalue(int i){n=i};    B)void sample::setvalue(int i){n=i};
C) void setvalue(int i){n=i};      D) setvalue(int i){n=i};

(7)    在C++中实现封装是借助于____。
A) 枚举            B) 数组
C) 类              D) 函数

(8)    假定Student为一个类,则该类的拷贝构造函数的声明语句为____。
A) Student&(Student  x);          B) Student(Student  x);
C) Student(const Student& x);       D) Student(const Student  *x);

(9)    类A 是类B的友元,类B是类C 的友元,则     是正确的。
A) 类B是类A的友元              B)类C是类A 的友元
C) 类A是类C的友元              D)以上都不对

(10)    已知类X中的一个成员函数说明如下:void Set(X &a) ,其中X &a的含义是____。
A)指向X的指针为a                          
B)将a的地址赋值给变量Set 
C) a是类X的对象引用,用来作为Set()的形参。
D)变量X与a 按位相与作为函数Set()的形参。

(11)    在C++语言中____函数被用来实现动态多态。
A)inline function                  B)overloaded function
C)virtual function                 D)template function

(12)    定义如下的基类和派生类:
class Base
{public:int i;
protected: int j;
private: int k;
  };
class Derived; public Base
{public:fun();
};
则下列基类成员可以被函数fun()访问的是____。
A)  i , j, k                B)  i, j
C)  i                    D)  j, k

(13)    下面程序的正确输出结果是____。
#include< iostream>
using namespace std;
class Test{
  int n;
public:
    Test(){n=2;}
    ~Test(){n++;}
    int getnum(){return n;}
};
void main()
{
    Test *p=new Test;
    delete p;
    cout<<"n="<<p->getnum() << endl;
}
A) n=0           B) n=1
C) n=2           D)不确定

(14)    下面程序的正确输出结果是____。
#include< iostream>
using namespace std;
class A
{
public:
    A(){ cout<<"1";}
    ~A(){cout<<"2";}
};
class B: public A
{
public:
    B(){ cout<<"3";}
    ~B(){cout<<"4";}
};
void main()
{
    B b;
}
A) 1234   B) 1342
C) 1324   D) 3142

(15)    下面程序的正确输出结果是____。
#include< iostream>
using namespace std;
class A
{
    int num;
public:
    A(int i){num=i;}
    A(A&a){num=a.num++;}
    void print(){cout<<num;}};
void main()
{
    A a(1),b(a);
    a.print();
    b.print();
}
A) 11    B) 12
C) 21    D) 22

(1) C   (2) D   (3)  C   (4) C     (5)  B    

(6) B   (7) C   (8)  C   (9)  D   (10)  C   

(11) C  (12) B   (13) D   (14)  B   (15)  C   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值