选择
1.必考☆.下面选项中不属于面向对象程序设计特征的是(C)
A)继承性  B)多态性  C)相似性 D)封装性
2.☆、下面说法正确的是(
A、构造函数可以重载,析构函数不能重载。
B、构造函数不能重载,析构函数可以重载。
C、构造函数可以重载,析构函数也可以重载。
D、构造函数和析构函数都不可以重载。
3、类AB的缺省构造函数和析构函数是(  A
AAB( )~AB( )          BAB(int)~AB( ) 
CAB( )~AB(delete )      DAB( )int~AB( )
4☆、如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行  A  的构造函数,接着执行  C  的构造函数,然后执行__ _B__的构造函数,最后才执行  D  的构造函数。
A、基类的对象成员    B、派生类的对象成员
C、基类              D、派生类
5、类CNum的缺省构造函数和析构函数是(  A
ACNum ( )~CNum ( )      BCNum (int)~CNum( ) 
CCNum ( )~CNum (delete )  DCNum ( )int~CNum ( )
6、假定MyClass为一个类,则执行“” MyClass a[3]*p[2];”语句时,自动调用该类构造函数的次数为(
A2          B3        C4      D5
7.下列情况中,哪一种情况不会调用拷贝构造函数(  B   
A)用派生类的对象去初始化基类对象时
B)将类的一个对象赋值给该类的另一个对象时
C)函数的形参是类的对象,调用函数进行形参和实参结合时
D)函数的返回值是类的对象,函数执行返回调用者时
8考☆下列关于this指针的说法正确的是(  B   
Athis指针存在于每个函数之中
B)在类的非静态函数中this指针指向调用该函数的对象
Cthis指针是指向虚函数表的指针
Dthis指针是指向类的函数成员的指针
9、在类外定义类的成员函数时,应当使用(  b  )来标识该函数为特定类的成员。
A     B ::    C->    Dthis
10☆、对于类中定义的成员,其隐含访问权限为(  B 
Aprotected    Bprivate  Cpublic  D static
11.    下列有关继承和派生的叙述中,正确的是( C  )
A)派生类不能访问通过私有继承的基类的保护成员
B)多继承的虚基类不能够实例化
C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数
D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现
12.  下列关于虚基类的描述中,错误的是(C)
A. 使用虚基类可以消除由多继承产生的二义性
B. 构造派生类对象时,虚基类的构造函数只被调用一次
C. 声明 class B:virtual public A 说明类B为虚基类
D. 建立派生类对象时,首先调用虚基类的构造函数
13、实现运行时的多态性,必须通过(  A  )来完成。
A、虚函数    B、重载函数    C、构造函数    D、析构函数
14☆、下面(  A    )是函数重载。
  Avoid play(int) void play(float)
  Bplay( ) ~play()
  Cvoid play(int) int play(int)
  Dvoid play( ) int play( )
15.    以下哪一关键字可用于重载函数的区分(  C   
Aextern      Bstatic        Cconst        Dvirtual
16必考☆下列运算符中,不能重载的是(  C   
A)&&          B!=      C.      D->
17、下面有关重载函数的说法中正确的是(B
A、重载函数必须具有不同的返回值类型;B、重载函数必须有不同的形参列表;
C、重载函数形参个数必须不同;         D、重载函数名可以不同;
18、已知类A是类B的友元,类B是类C的友元,则( D  )
A、类A一定是类C的友元
B、类C一定是类A的友元
C、类C的成员函数可以访问类B的对象的任何成员
D、类A的成员函数可以访问类B的对象的任何成员
19、在C++中,若对函数未加说明,则函数的隐含类型是(  A 
Aint    Bdouble    Cvoid      Dchar
20、以下不属于成员函数的是(  B  )
A、静态成员函数          B、友元函数
C、构造函数              D、析构函数
21.    可用作C++语言用户标识符的一组标识符是( B )
A void    define    +WORD            B a3_b3    _123    YN
C for      -abc      Case            D 2a      DO      sizeof
22.    假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。
A 0      B 4      C 8      D 6
23.    下列有关数组的叙述中,正确的是(    B 
AC++中数组的存储方式为列优先存储
B)数组名可以作为实参赋值给指针类型的形参
C)数组下标索引从1开始,至数组长度n结束
D)数组指针的语法形式为:类型名 *数组名[下标表达式];
构造函数可以被重载
24.  在下列关于C++函数的叙述中,正确的是(  C   
A)每个函数至少要有一个参数  B)每个函数都必须返回一个值
C)函数在被调用之前必须先声明    D)函数不能自己调用自己
读程题:
1 .#include<iostream.h>
  class A{
      int *a;
  public:
    A(int x){  a=new int(x);  cout<<"*a="<<*a<<endl;  delete a; }
  };
  void main()
  {
    A x(3), *p;
    p=new A (5);
    delete p;
  }
    *a = 3
*a = 5
2class test{
private:
    int num;
public:
test();
int GetNum() { return num;}
test();
}
test::test(){  num=0;  }
test::test()
{  cout<<Destructor is active<<endl; }
void main()
{  test x[3;
cout<<Exiting main<<endl;
}
    Exiting main
Destructor is active
Destructor is active
Destructor is active
3 #include<iostream.h>
class A {
public:
virtual void fun()
{  cout<<"I'm class A"<<endl; }
};
class B: public A{
public:
void fun()
{  cout<<"I'm class B"<<endl; }
};
class C: public B{
public:
void fun()
{  cout<<"I'm class C"<<endl; }
};
void main()
{
A a,*pA=&a;
pA->fun();
B b;
pA=&b;
pA->fun();
C c;
a=c;
a.fun();
A  &aRef=c;
aRef.fun();
}
    I'm class A
I'm class B
I'm class A
I'm class C
4.#include
using namespace std;
int i = 0;
int fun(int n)
{
    static int a = 2;
    a++;
    return a+n;
}
void main()
{
    int k = 5;
    {
        int i = 2;
        k += fun(i);
    }
    k += fun(i);
    cout << k;
}
14
5.char str[] = "job", *p = str;
cout << *(p+2) << endl;
字符’b
6.#include
using namespace std;
class A
{
  public:
      A (int i) { x = i; }
      void dispa () { cout << x << ,; }
  private :
      int x ;
};
class B : public A
{
  public:
      B(int i) : A(i+10) { x = i; }
      void dispb() { dispa(); cout << x << endl; }
  private :
      int x ;
};
void main()
{
    B b(2);
    b.dispb();
}
12,2
编程题
1、下面是一个基于对话框的应用程序,用来求解一元二次方程的根。当用户在ABC 三个编辑框中输入3个参数后,单击计算按钮,将显示出该方程的根。(10分)
各控件对应的成员变量见下表:
控件ID
变量类型
变量名
IDC_A_EDIT
int
m_a
IDC_B_EDIT
int
m_b
IDC_C_EDIT
int
m_c
IDC_X1_EDIT
CString
m_x1
IDC_X2_EDIT
Cstring
m_x2

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。