一、名詞解釋
1、多態(tài)性 2、構(gòu)造函數(shù) 3、繼承性 4、友元
二、填空
1、類的三大基本特性__________、__________、__________。
2、c++語言的函數(shù)參數(shù)傳遞方式有__________。
3、含有虛函數(shù)的類稱為__________,含有純虛函數(shù)的類為__________,為克服重復(fù)繼承的二義性,用__________聲明的基類稱為虛基類,用__________聲明函數(shù)稱為虛函數(shù)。
4、在含有對(duì)象成員的派生類中,構(gòu)造函數(shù)的調(diào)用次序,基類的構(gòu)造函數(shù)對(duì)象成員的構(gòu)造函數(shù),派生類的構(gòu)造函數(shù)的調(diào)用次序?
5、派生類對(duì)基類繼承控制訪問有三種__________。
三、單項(xiàng)選擇
1、那個(gè)不是c++的基本數(shù)據(jù)類型( 。
2、c++語言中有哪些存放在動(dòng)態(tài)存儲(chǔ)區(qū)。 ( 。
3、下面對(duì)于指針的描述不正確的是( 。。
a、指針是地址變量 b、指針不能用除0以外的常量賦值
c、兩個(gè)指針變量的加減法無意義 d、指針指向不同基類型的變量長度不同
4、下面對(duì)于析構(gòu)函數(shù)的描述中不正確的是( 。。
a、析構(gòu)函數(shù)是內(nèi)置函數(shù) b、析構(gòu)函數(shù)與類名相同
c、析構(gòu)函數(shù)不能有參數(shù) d、析構(gòu)函數(shù)在對(duì)象撤銷時(shí)自動(dòng)執(zhí)行
5、下列指針用法中錯(cuò)誤的是( 。。
a、int i; int *ptr=&i; b、int i; int *ptr; i=*ptr;
c、int *ptr; ptr=0; d、int i=5; int *ptr; *ptr=i;
6、派生類的對(duì)象對(duì)它的基類成員中什么是可訪問的( 。
a、公有繼承的公有成員 b、公有繼承的私有成員
c、公有繼承的保護(hù)成員 d、私有繼承的公有成員
四、簡答
1、什么是多重繼承的名字沖突?怎樣解決多重繼承的名字沖突?
2、說明c++系統(tǒng)保留字protected的用法。
3、什么是抽象類?抽象類有什么特點(diǎn)?
五、分析下列程序,寫出結(jié)果
1、#include<iostream.h>
int g=1;
void disp( )
{
int i=1;
static int s=1;
cout<<"g="<<g<<"\n";
cout<<"i="<<i<<"\n";
cout<<"s="<<s<<"\s";
g=g+1;i=i+1;s=s+1;
}
int main()
{
while(g<s)
disp;
return 0;
}
2、#include<iostream.h>
class aaa{
int a,b;
public:
aaa(int i,int j)
{a=i,b=j;
cout<<"c\n";
}
~aaa(){cout<<"d\n";}
void print( )
{
void aaa::print( )
{cout<<a<<","<<b<<"\n";}
void main()
{
aaa *a1,*a2;
a1=new aaa(1,2)
a2=new aaa(5,6)
a1->print();
a2->print();
delete a1;
delete a2;
}
3、#include<iostream.h>
class b1{
public:
b1(int x)
{cout<<x<<"->a\n";}
~b1()
{cout<<"b\n";}
};
class b2{
public:
b2(int x)