自考生网为考生们整理提供了“2006年1月02328面向对象程序设计历年真题及答案”,更多02328面向对象程序设计真题内容可点击查看02328面向对象程序设计真题及答案汇总。
注:不同省份、不同专业的自考历年真题及答案,只要课程代码和课程名称相同,都可参考使用。
1、面向对象程序设计中的数据隐藏指的是( )
A.输入数据必须输入保密口令
B.数据经过加密处理
C.对象内部数据和代码合并在一起
D.对象内部数据结构的不可访问性
2、要将类A说明是类B的虚基类,正确的描述是 ( )
A.class virtual B:public A
B.class B:virtual public A
C.virtual class B:public A
D.class B:public A virtual
3、下面关于静态成员的描述中,正确的是 ( )
A.静态数据成员是类的所有对象共享的数据
B.类的每个对象都有自己的静态数据成员
C.类的不同对象有不同的静态数据成员值
D.静态数据成员不能通过类的对象访问
4、假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为( )
A.0
B.2
C.3
D.5
5、在面向对象的程序设计中,将一组对象的共同特性抽象出来形成________________。
6、在C++中要创建一个文件输入流对象fin,同时该对象打开文件“Test.txt”用于输入,则正确的声明语句是________________。
7、如果要把类B的成员函数void fun( )说明为类A的友元函数,则应在类A中加入语句________________。
8、A是一个类,已有语句“A* p;p=new A[10];”。要释放由p指向的报考空间,正确的语句应该是________________。
9、如果一个引用不是用作函数参数或返回值,则在说明该引用时必须对它进行________________。
10、如果要把PI声明为值为3.14159类型为双精度实数的符号常量,该声明语句是________________。
11、【改错题】下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。
#include
class Base
{
public:
virtual void fun( ){cout<<"Base function"<};
class Derived:public Base
{
public:
void fun( ){cout<<"Derived function"<};
void main( )
{
Base b;
Derived* p=&b;
B.fun( );
p->fun( );
}
12、【改错题】下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。
#include
class A
{
int x;
protected:
int y;
public:
A(int xx,int yy){x=xx; y=yy;}
};
class B:public A
{
public:
B(int a,int b):A(a,b){}
void display( ){cout<};
void main( )
{
B b(5,10);
B.display( );
}
13、【完成程序题】请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:
2,1
4,3
#include
class A
{
int a;
public:
A(int i=0){a=i;}
int Geta( ){return a;}
};
class B
{
A a;
int b;
public:
B(int i=0,int j=0): ① {}
void display( ){cout<};
void main( )
{
B b[2]={B(1,2),B(3,4)};
for(int i=0;i<2;i++)
② ;
}
14、【完成程序题】下面程序中A是抽象类。请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:
B1 called
B2 called
#include
class A
{
public:
① ;
};
class B1:public A
{
public:
void display( ){cout<<”B1 called”<};
class B2:public A
{
public:
void display( ){cout<<”B2 called”<};
void show(② )
{
p->display( );
}
void main( )
{
B1 b1;
B2 b2;
A* p[2]={&b1,&b2};
for(int i=0;i<2;i++)
show(p[i]);
}
15、【完成程序题】请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:
Name:王小明
Grade:90
#include
#include
class Person
{
char name[20];
public:
Person(char* s){strcpy(name,s);}
void display( ){cout<<”Name:”<};
class Student:public Person
{
int grade;
public:
Student(char* s, int g): ① {grade=g;}
void display( )
{
② ;
cout<<”Grade:”<}
};
void main( )
{
Student s(“王小明”,90);
s.display( );
}
16、【完成程序题】请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为5。
#include
class Integer
{
int x;
public:
Integer(int a=0){x=a;}
void display( ){cout<____①_____ ;
};
Integer Max(Integer a,Integer b)
{
if(_______②____ )
return a;
return b;
}
void main( )
{
Integer a(3),b(5),c;
c=Max(a,b);
C.display( );
}
17、【完成程序题】请在下面的横线处填上适当内容,以使类的定义完整。
class Array
{
int* ptr;
int size;
public:
Array( ){size=0; ptr=0;}
Array(int n){size=n;ptr=new int[size];}
Array(______①_______ ) //复制初始化构造函数
{
size=A.size;
ptr=new int[size];
for(int i=0;i_____②_____ ; //将源对象的报考数组内容复制到目标对象
}
};
18、【程序分析题】阅读下面的程序,写出程序运行的结果。

19、【程序分析题】阅读下面的程序,写出程序运行的结果。

全专业电子资料、题库、学位、网课
最高直省2344元
上千+科次精品网课
买网课即送全真模考题库
五千+科次教材资料
电子资料满三件9折
五千+科次在线题库
全真呈现历年考试试题
自考生题库
专业智能,巩固提分
历年真题
真题全景再现
进入做题
模拟考场
海量题随机做
进入做题
考前点题
部分科目押题
进入做题
章节练习
章节专项突破
进入做题
错题收纳
试题收藏复习
进入做题
易错题
高频易错习题
进入做题
微信公众号
网课试听
教材大全
做题闯关

扫描二维码 关注公众号
微信小程序
资料大全
免费题库
无需下载

扫描小程序码 领免费题库