云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 2012面向对象程序设计试题集

2012面向对象程序设计试题集

  • 62 次阅读
  • 3 次下载
  • 2025/5/7 22:26:29

void show(A &a) {a.f(); a.g();} int main() { B b; show(b); return 0; }

运行时的输出结果是( )

A.12 B.34 C.14 D.32 有如下程序段: int i=4; int j=1; int main() { int i=8,j=i;

cout<

运行时的输出结果是( )

A.44 B.41 C.88 D.81

下列情况中,不会调用拷贝构造函数的是( )。 A.用一个对象去初始化同一类的另一个新对象时 B.将类的一个对象赋予该类的另一个对象时

C.函数的形参是类的对象,调用函数进行形参和实参结合时 D.函数的返回值是类的对象,函数执行返回调用时 下面对静态数据成员的描述中,正确的是( )。

A.静态数据成员是类的所有对象共享的数据 B.类的每一个对象都有自己的静态数据成员 C.类的不同对象有不同的静态数据成员值 D.静态数据成员不能通过类的对象调用

下面的函数调用

fun(a+b,3,max(n-1)*b)

则fun 的实参个数是( )。 A.3 B.4 C.5 D.6 已知函数fun的原型为 int fun(int ,int ,int)

下列重载函数原型中错误的是( )

A.char fun(int,int); B.double fun(int,int,double); C.int fun(int,char *); D.float fun(int,int,int); 下面描述中,正确的是( )。 A.virtual可以用来声明虚函数

B.含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类 C.即使基类的构造函数没有参数,派生类也必须建立构造函数 D.静态数据成员可以通过成员初始化列表来初始化 有如下类定义: class MyBase{ int k; public:

MyBase(int n=0):k(n){} int value()const{return k;} };

class MyDerived: MyBase{ int j; public:

MyDerived(int i): j(i){} int getK()const {return k;} int gutj()const{return j;} };

编译时发现有一处语法错误,对这个错误最佳准确的描述是( ) A.在类MyDerived 的定义中,基类名MyBase 前缺少关键字public、protected 或private B.函数getK 试图访问基类的私有成员变量k C.类MyDerived 缺少一个无参的构造函数

D.类MyDerived 的构造的数没有对基数数据成员k 进行初始化 关于多继承二义性的描述,( )是错误的。

A.派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性 B.派生类和它的基类中出现同名函数时,将可能出现二义性 C.一个派生类是从具有共同的间接基类的两个基类派生来的,派生类对该公共基类的访问可能出现二义性

D.解决二义性最常用的方法是作用域运算符对成员进行限定 有如下的运算重载函数定义:

double operator+(int i, int k){return double(i+k);}

但定义有错误,对这个错误的最准确的描述是( )。

A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的

B.两个int 型参数的和应该是int 型,而这里将+的返回类型声明为double C.没有将运算符重载函数声明为某个类的友元

D.C++已经提供了求两个int 型数据之和运算符+,不能再定义同样的运算符

关于友元的描述中,( )是错误的。

A.友元函数是成员函数,它被说明在类体内 B.友元函数可直接访问类中的私有成员 C.友元函数破坏封装性,使用时尽量少用 D.友元类中的所有成员函数都是友元函数 class Parents{

public: int publicData; private: int privateData;};

class ChildA: public Parents{/*类体略*/}; class ChildB: private Parents{/*类体略*/}; ChildA a; ChildB b;

下面语句中正确的是:( )

A. cout<

C.返回值类型 D.常成员函数关键字const 下面的程序段的运行结果为( ) char str[] = \cout << *(p+2) << endl;

A)98 B)无输出结果 C)字符’b’的地址 D)字符’b’ 已知表达式++a中的“++”是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为( ) A.a.operator++(1) B.operator++(a) C.operator++(a,1) D.a.operator++()

下列运算符中,不能重载的是 ( ) A. && B. != C. .(成员访问运算符) D. ->

已知有数组定义 char a[3][4];

下列表达式中错误的是( )

A. a[2]=”WIN” B. strcpy(a[2],”WIN”) C. a[2][3]=?W? D. a[0][1]=a[0][1]

有如下程序:

#include using namespace std; class Toy{ public:

Toy(char* _n) { strcpy (name,_n); count++;} ~Toy(){ count--; }

char* GetName(){ return name; } static int getCount(){ return count; } private:

char name[10]; static int count; }; int Toy::count=0; int main(){

Toy t1(“Snoopy”),t2(“Mickey”),t3(“Barbie”); cout<

运行时的输出结果是( )

A.1 B.2 C.3 D.运行时出错

将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是( )

A.不合法的运算符 B.一元运算符 C.无操作数的运算符 D.二元运算符 有如下程序:

#include using namespace std; class Toy{ public:

Toy(char* _n) { strcpy (name,_n); count++;} ~Toy(){ count--; }

char* GetName(){ return name; } static int getCount(){ return count; } private:

char name[10];

static int count; }; int Toy::count=0; int main(){

Toy t1(“Snoopy”),t2(“Mickey”),t3(“Barbie”); cout<

运行时的输出结果是( )

A.1 B.2 C.3 D.运行时出错 有如下两个类定义 class AA{};

class BB{ AA v1,*v2; BB v3; int *v4; };

其中有一个成员变量的定义是错误的,这个变量是( ) A.v1 B.v2 C.v3 D.v4 有如下类定义: class XX{ int xdata;

public: XX(int n=0) : xdata (n) { } }; class YY : public XX{ int ydata;

public: YY(int m=0, int n=0) : XX(m), ydata(n) { } }; YY类的对象包含的数据成员的个数是( ) A.1 B.2 C.3 D.4

字符串常量\在内存中需要占用( )字节 A.6 B.7 C. 8 D. 9 下列表达方式正确的是( )。

A.class P{ B. class P{ public: public: int x=15; int x;

void show(){cout<

f=25; void Seta (int x) {a=x;} 关于友元的描述中,( )是错误的。

A.友元函数是成员函数,它被说明在类体内 B.友元函数可直接访问类中的私有成员 C.友元函数破坏封装性,使用时尽量少用 D.友元类中的所有成员函数都是友元函数 有如下程序段: int i=4; int j=1; int main() { int i=8,j=i;

cout<

运行时的输出结果是( )

A.44 B.41 C.88 D.81 已知表达式++a中的“++”是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为( A.a.operator++(1) B.operator++(a) C.operator++(a,1) D.a.operator++() #include using namespace std; class Test{ public: Test(){}

~Test(){cout<<'#';} };

)

搜索更多关于: 2012面向对象程序设计试题集 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

void show(A &a) {a.f(); a.g();} int main() { B b; show(b); return 0; } 运行时的输出结果是( ) A.12 B.34 C.14 D.32 有如下程序段: int i=4; int j=1; int main() { int i=8,j=i; cout<

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com