面向对象程序设计复习提纲.doc
文本预览下载声明
面向对象程序设计复习
1. 函数重载是指两个或两个以上的函数取相同的函数名,但形参的个数或类型不同。
2.若有指针p指向变量x,则*p与x的表示是等价的。
3.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为a。
4.执行int *p= new int[10]操作,使p指向的元素可表示为p[0](或*p )
5.除了能通过构造函数的函数体内赋值语句对数据成员实现初始化外,C++还提供一种初始化数据成员的方法参数初始化表。
6.假定p所指向对象为25,p+1指向对象为42,则执行*p++运算后,p所指向对象值为42.
7.在调用成员函数时,this指针被初始化成被调函数所在类的对象的地址。
8.为了使指针值始终保持为初始值,可以将指针变量声明为const型(常指针)
9.静态数据成员可以初始化,但只能在类体外进行初始化。
10.私有继承中,基类中的保护成员在私有派生类中的访问属性是私有
11.预处理命令在程序中都是以符号开头的。 #includeiostream
_ ① _; using namespace std
int lcd(int x,int y){
② ;} return x*y/hcf(x,y)
32. 下面函数的功能是:统计子字符串substr在字符串str中出现的次数。请填空:
#includeiostream.h
int SubStrNum(char *str,char *substr)
{
int Num=0;
int h1,h2,p1,p2;
h1=strlen(str); h2=strlen(substr);
_ ① _; p1=0
while(p1h1)
{
p2=0;
while(str[p1]==substr[p2]p2h2p1h1)
{
p1++;p2++;
}
if(p1==h1p2h2) ② ; break
if(p2==h2) Num++;
else p1=p1-p2+1;
}
return Num;
}
33. 下面函数的功能是实现C,请填空:
#includeiostream.h
long fun(int m,int m)
{if(m= =n||n= =0) _ ① _; return 1
else return ② ; m*fun(m-1,n)/(m-n)
}
34. 下列类定义了复数的加法运算,其中重载了“+”运算符。请填空:
#includeiostream.h
class Complex{
double re,im;
public:
Complex(double r,double i):re(i),im(i){}
double real() const{return re;}
double image() const{return im;}
_ ① _+=(Complex a){ Complexoperator
② ; re+=a.re
③ ; im+=a.im
return *this;
}
};
35. 下面函数实现两个数的最大公约数。请填空: #includeiostream.h
int hcf(int x,int y)
{
int t,r;
while(_ ① _){ x!=y
if(xy) x=x-y;
else if(yx) y=y-x;
}
② ; return y
}
31.下面程序的功能是在屏幕的同一行上显示1~9的平方值,每个值之间用“,”隔开。请
填空:
#includeiostream.h
void main(){
int i;
for(_ _) i=1;i10;i++或i=1;i=9;i++ cout ; i*i”,”
coutendl;
}
32.不用strcat函数编程实现字符串连接函数strcat的功能,将字符串DStr连接到字符
串SStr的尾部。请填空:
#includeiostream.h
void main()
{
char SStr[180],DStr[180];
cinSStrDStr;
int SL=strlen(SStr);
int DL=strlen(DStr);
for(int i=0; _ _;i++) iDL+1
; SStr[i
显示全部