《C++期末考試試題》由會員分享,可在線閱讀,更多相關(guān)《C++期末考試試題(3頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、.、寫出下面程序的運行結(jié)果(2題,每題10分)
1.已定義了一個類 A并有語句 A*pa=newA(5); 那么以下說法正確的是: D
A.該語句會創(chuàng)建A類的一個對象,并將此對象的地址賦給指針 pa;
B.該語句會創(chuàng)建A類的5個對象,且它們的地址是連續(xù)的;
C.當(dāng)指針變量pa超出其作用域時,pa和為對象分配的空間都將被自動釋放;
D.類A中一定有一個顯式定義的構(gòu)造函數(shù)和一個顯式定義的虛析構(gòu)函數(shù);
2 .定義類A的非靜態(tài)成員函數(shù) A&f(A&one)時,需有語句return exp;則exp不能是: D
A.類A中類型為A的靜態(tài)數(shù)據(jù)成員
B.f中用語句 Aa = one;定義
2、的量a
C. one
D.*this
D
B.析構(gòu)函數(shù)
D.靜態(tài)成員函數(shù)
3 .在一個類中,下列哪些成員可以是多個?
A.無參構(gòu)造函數(shù)
C.原型相同的非靜態(tài)成員函數(shù)
4 .對于通過公有繼承定義的派生類, 若其成員函數(shù)可以直接訪問基類的某個成員, 說
明該基類成員的訪問權(quán)限是: D
A.公有或私有 B.私有 C.保護或私有 D.公有或保護
5 .在下列關(guān)鍵字中,不能用來表示繼承方式的是: B
A. private B. static C. public D. protected
6 .下列有關(guān)運算符重載的敘述中,正確的是: A
A.運算符重載是多態(tài)的一種表現(xiàn)
3、B. C++中可以通過運算符重載創(chuàng)造新的運算符
C. C++中所有運算符都可以作為非成員函數(shù)重載
D.重載運算符時可以改變其結(jié)合性 A
7 .下列關(guān)于類定義的說法中,正確的是:
A.類定義中包括數(shù)據(jù)成員與函數(shù)成員的聲明
8 .類成員的缺省訪問權(quán)限是保護的
C.數(shù)據(jù)成員必須被聲明為私有的
D.成員函數(shù)只能在類體外進行定義
8 .建立一個有成員對象的派生類對象時,各構(gòu)造函數(shù)體的執(zhí)行順序為: C
A.派生類成員對象類基類 B.成員對象類基類派生類
C.基類成員對象類派生類 D.基類派生類成員對象類
9 . C++中解決命名沖突的機制是: A
A.虛基類 B.虛函數(shù) C.函數(shù)重
4、載 D.名字空間
10 .任意一個類,析構(gòu)函數(shù)的個數(shù)最多是: B
A.不限個數(shù) B. 1 C.2 D. 3
11 .在類定義中,為說明成員的訪問權(quán)限,private,protected,public可以出現(xiàn)次數(shù)為:A
A.次數(shù)沒有具體限定 B.每種至多一次
C. public至少一次 D.每種至少一次
12 .下面關(guān)于訪問類 A的私有數(shù)據(jù)成員的說法, 錯誤的是:C
A.類A的友元函數(shù)可以訪問類 A的私有成員。
B.類A的友元類中的非靜態(tài)成員函數(shù)可以訪問類 A的私有成員。
C.類A的嵌套類中的非靜態(tài)成員函數(shù)可以訪問類 A的私有成員。
D.類A中的非靜態(tài)成員函數(shù)可以訪問類 A的
5、私有成員。
1. #include
class A
{
public:
A( ) { cout<<”<1> A::A( ) "< A::~A( )"< A::g( )"< A::h( )"<
6、t<<"<5> B::B( ) "< B::~B( )"< B::g( )"< B::h( )"<
class A
{
public:
A( ) {cout<<1<<
7、endl;}
virtual ~A( ) {cout<<2<
8、dl;}
virtual ~C( ) { cout<<4<
9、lo ");
MyString s2("World!");
cout << s1.getString() << s2.getString( ) << endl;
MyString s3(s1);
cout << s3.getString( ) << endl;
s3 = si + s2;
cout << s3.getString( ) << endl;
}
程序執(zhí)行時,輸出結(jié)果如下:
Hello World!
Hello
Hello World!
根據(jù)以下已知條件,完成對 MyString類的定義和實現(xiàn)。
(1) 可以使用iostream.h中定義的類及相關(guān)內(nèi)容。
10、(2) 可以使用string.h中定義的如下函數(shù):
int strlen(const char* );用于計算標準表示的字符串長度;
char* strcpy( char *strDestination, const char *strSource );用于將 strSource 串拷貝給 strDestination。返回的是 strDestination 串,一般不用。
char* strcat( char *strDestination, const char *strSource );用于將 strScource 串接于
strDestination 串后。返回的是 strDestination 串,一般不用。
本題目要求:根據(jù)上述已知條件,不借用其它標準函數(shù)庫或類庫, 遵循上面程序輸出結(jié) 果,完成MyString類的定義和實現(xiàn)。