自考复习02328面向对象程序设计docWord文件下载.docx
- 文档编号:15849071
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:28
- 大小:28.08KB
自考复习02328面向对象程序设计docWord文件下载.docx
《自考复习02328面向对象程序设计docWord文件下载.docx》由会员分享,可在线阅读,更多相关《自考复习02328面向对象程序设计docWord文件下载.docx(28页珍藏版)》请在冰豆网上搜索。
在函数模板的参数中,用ckiss修饰的参数称为模板参数。
函数重载吋,编译系统会根据形参的个数或形参的类型来区分。
编译时的多态性可以通过使用來实现。
设要把一个文件输出流对象thisFile与文件"
d:
\myfile\code.txt”相关联,所用的C++语句是ihisFilc.open(“d:
\\myfile\\codc.lxl”)。
C++中,已知char*pl二newchar(10);
则释放pl指向的内存使用语句是deleted1。
下列程序实现将用户输入的字符串逆向输出。
例如:
输入的字符串为ABCDE,则输出为
EDCBAc
#include<
iostream>
usingnamespacestd;
voidmain()
{
charstr[180J;
cin»
str;
intk=strlen(str);
for(inti=0;
ivk;
i++)
cout«
strlk-i-lk
下列程序实现了对复数进行加法运算,请将程序补充完整。
#include<
#include<
fstream>
usingnamespacestd;
Classcomplex〃定义一个复数类
public:
intreal;
intimag;
complex(intr=0,inti=0){real=r;
imag=i;
}
};
complexoperator+(complex&
a,complex&
b)
intr=a.real+b.real;
inti=a.imag+b-imag;
returncomplex(i\i);
}
voidmain()
{complexx(1,2),y(3,4),z;
z=x+y;
cout<
<
z.realvv"
+”vvz.imagvvTvvendl;
下面函数模板求x”,其中n为整数。
usingnamespacestd;
templatevclassT>
;
doublepower(Tx,intn){if(x==O)return0;
if(n==O)return1;
Tpowerx=l;
i<
abs(n);
i++)powerx=powerx*x;
if(n<
0)
return1.0/powerx;
else
returnpowerx;
在下面横线处填上适当内容,完成类B的定义。
classA
public:
A(){a=O;
A(inti){a=i;
voidprint(){cout«
a«
5\”;
private:
inta;
classB:
publicA
B(inti){bl=b2=O;
B(inti,intj,intk):
A(i){bl=j;
b2=k;
}〃使a的值为ivoidprint(){A:
:
print();
cout«
bl«
'
\^«
b2«
endl;
Jprivate:
intbl,b2;
完成下面类中的成员函数的定义。
classtricingle
{private:
intbase,height;
//三角形的底和高
triangle(intbase,intheight);
triangle(triangle&
t);
triangle:
triangle(inta,intb)
base=a;
height=b;
triangle(triangle&
t)
base=t.base;
height=t.height;
以下程序是定义一个累加器类sumA,对其重载运算符“+”,请填空。
classsumA
{private:
intn;
suinA(){n=0;
sumA(inti){n=i;
)
sumAoperator+(sumAa)〃运算符重载函数
{sumAt;
t.n=n+a.n;
iclurnl:
〃函数返回
voiddisp()
{cout«
nn=,,«
n«
endl;
{sumAk1(7),k2(27),k3;
k3=kl+k2;
kl.dispO;
k2.disp();
k3.disp();
写11!
下列程序的运行结果:
#inelude<
usingnamespacestd:
voidswap(intx,inty)
{intt;
t=x;
x=y;
y=t;
{inta=80,b=100;
^a=,,«
9,b=^«
b«
swap(a.b);
na=^«
a<
<
^,b=n«
答:
结杲是:
a=80,b=100
b二100
写出下列程序的运行结果:
usingnamespacestd;
classBASE
~BASE(){cout«
,BASE,,;
J
};
classDERIVED:
publicBASE
〜DERIVED(){cout«
"
DERIVED"
;
{DERIVEDobj;
结果是:
DERIVEDBASE
A(){cout«
,A>
;
〜A(){cout«
^^-A^^;
classB:
publicA
{A*p;
B(){coul<
v"
IT;
p=newA();
~B(){coutWB"
deletep;
{Bobj;
ABA・B・A・A
编写一个函数intStrNum(char*s,char水subs),其功能是:
统计子字符串subs在字符串s中出现的次数。
intStrNum(charchar*subs){
intn=0;
inthl,h2;
intpl,p2;
hl=strlen(s);
h2=strlen(subs);
pl=o;
while(pl<
hl){
p2=0;
while(s[pl]==subs[p2]&
&
p2<
h2&
pl<
pl++;
p2++;
if(pl==hl&
p2<
h2)break;
讦(p2==h2)n++;
pl=pl-p2+l;
returnn
定义一个Point类,派生出圆Circle类,并增加一函数Area()计算圆的面积。
不要求定义测试类。
classPoint
Point(floatax,floatay)
{x=ax;
y=ay;
}private:
floatx;
floaty;
classCircle:
publicPoint
Circle(floatax,floatay,floatar);
floatArea()
return3J4*r*r;
)
floatr;
Circle:
Circle(floatax,floatay,floatar):
Point(ax,ay){r=ar;
下列不属于面向对彖程序设计的特征的是完整性
已知:
intm二10;
下列表示引用的方法屮正确的是int&
x二m;
如果要对AB类中的整型静态变量c赋初值0,则书写语句正确的是staticintAB:
c二0;
设有数组定义:
chararrayWChina”;
则数组array所占的空间是6个字节
可用来替换宏替换“#defincE2.718281828”的语句是ConstFloatE2.718281828;
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对彖的加法,并返回相加结果,则该成员函数的声明语句为ABoperator+(AB&
a)
设类ClassA中存在类成员staticdoublex,则下列初始化方式正确的是doubleClassA:
x=25在继承中,派生类拥有的基类个数为至少1个
运用运算符delete删除一个动态对彖时系统首先为该动态对象调用析构函数,再释放其占用的内存
基类屮的protected成员可以通过public派生,其在派牛•类屮的可见性为protected
派生类的对象可以访问的基类成员是公有继承的基类的公有成员
关于友元函数的说法正确的是使用友元函数的主要目的是提高程序执行效率,因为可直
接调用该类私有变量
一个类拥有多个构造函数,则这些构造函数间为重载关系
下列关于类的权限的描述
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自考 复习 02328 面向 对象 程序设计 doc