};
doubleShape:
:
totalArea=0;//初始化totalArea
intmain(void)
{Circlec
(1);//定义圆对象
c.ShowArea();//显示面积
Rectangler(1,2);//定义矩形对象
r.ShowArea();//显示面积
Squarez(3);//定义正方形对象
z.ShowArea();//显示面积
Shape:
:
ShowTotalArea();//显示总面积
return0;//返回值0,返回操作系统
}
C++面向对象程序设计模拟试题三
一、单项选择题(本大题共10小题,每小题2分,共20分)
1.下面有关重载函数的描述中,正确的是()。
A)重载函数必须具有不同的返回值类型B)重载函数形参个数必须不同
C)重载函数必须具有不同的形参表D)重载函数名可以不同
2.假定MyCIass为一个类,那么下列的函数说明中,()为该类的析构函数。
A)void~MyClass();B)~MyClass(intn);C)MyClass();D)~MyClass();
3.()是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。
A)模板B)类C)对象D)函数
4.下面关于静态成员函数的途术中错语的是()。
A.静态成员函数可以有返回值B.this指针可以指向静态成员函数
C.静态成员函数可以具有指针参数D.静态成员函数可有具有返回值类型
5.定义类模板时要使用关键字()。
A.privateB.publicC.deleteD.template
6.下列是重载乘法运算符的函数原型声明,其中错误的是()。
A)MyClassoperator*(double,double);B)MyClassoperator*(double,MyClass);
C)MyClassoperator*(MyClass,double);D)MyClassoperator*(MyClass,MyClass);
7.以下()成员函数表示纯虚函数。
A)virtualintfun(int)B)voidfun(int)=0C)virtualvoidfun()=0D)virtualvoidfun(int){}
8.关于纯虚函数,下列表述中正确的是()。
A)纯虚函数的声明总是以"=0"结束B)含有纯虚函数的类可以定义对象
C)含有纯虚函数的类是抽象类D)上面都是错误的
9.()解决二义性问题。
A.只能使用作用域分辨操作符B.只能使用虚基类
C.使用作用域分辨操作符或虚基类D.上面都不能
10.实现编译时的多态性要使用()。
A)重载函数B)析构函数C)构造函数D)虚函数
二、填空题(本大题共5小题,每小题2分,共10分)
1.定义一个函数名为fun,返回值为int,没有参数的纯虚函数的声明是()。
2.定义静态成员函数应使用关键字()。
3.在C++中,如果类的名称是CTest,则此类的构造函数名称为()。
4.在类的对象被创建时,()函数会被自动调用。
5.类中数据成员和成员函数的默认访问级别为()。
三、完成程序填题(本大题共3个小题,每小题3分,共9分)
1.请完成下面的程序
#include//预处理命令
usingnamespacestd;//使用标准命名空间std
//测试静态成员类
classTest
{
private:
[1]Testintcount;//对象数
public:
Test(){count++;}//构造函数,实现对对象进行计数
staticvoidShow(){cout<<"共有"<"<};
intTest:
:
count=0;//初始化静态数据成员赋初值
intmain(void)//主函数main(void)
{Testobj1,obj2,obj3;//定义对象
Test:
:
Show();//显示对象数
return0;//返回值0,返回操作系统
}
2.请完成下面的程序
#include//预处理命令
usingnamespacestd;//使用标准命名空间std
//整数类
classInteger
{private:
inta;//数据成员
public:
Integer(intx=0){a=x;}//构造函数
operatorint(){returna;}//类型转换函数
Integeroperator+(constInteger&i)const//重载加法运算符+
{return[c2];//返回和
}
};
intmain(void)//主函数main(void)
{Integera
(2),b(3),c;//定义整数对象
c=a+b;//求和
cout<return0;//返回值0,返回操作系统
}3.请完成下面的程序
#include//预处理命令
usingnamespacestd;//使用标准命名空间std
template
classA
{private:
ElemTypea;//数据成员
public:
A(ElemTypex):
a(x){}//构造函数
voidShow()const
{cout<};
intmain(void)//主函数main(void)
{A<[3]>obj("Hello,world!
");//定义对象
obj.Show();//显示相关信息
return0;//返回值0,返回操作系统
}
四、程序分析题(本大题共4小题,每小题5分,共20分)给出下面各程序的输出结果。
1.阅读下面程序,写出输出结果。
#include//预处理命令
usingnamespacestd;//使用标准命名空间std
classPoint
{private:
intx;//x坐标
inty;