




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1 C+語(yǔ)言基礎(chǔ)及過(guò)程化程序設(shè)計(jì)1.1 基礎(chǔ)概念1. 函數(shù)聲明和函數(shù)定義有什么區(qū)別?答:1) 函數(shù)聲明是函數(shù)的原型,強(qiáng)調(diào)函數(shù)如何被使用,不包含函數(shù)的實(shí)現(xiàn)代碼;2) 函數(shù)定義給出函數(shù)的實(shí)現(xiàn)代碼。2. const char *p1; char * const p2;的區(qū)別答:1) const位于星號(hào)的左側(cè), const用來(lái)修飾指針?biāo)赶虻淖兞?,即指針指向?yàn)槌A浚?)const位于星號(hào)的右側(cè),const用來(lái)修飾指針本身,即指針本身是常量。3. delete與 delete 區(qū)別答:delete只會(huì)調(diào)用一次析構(gòu)函數(shù),而delete會(huì)調(diào)用動(dòng)態(tài)分配的多個(gè)對(duì)象的析構(gòu)函數(shù)4. 解釋堆和棧的區(qū)別答:1) 棧:由
2、編譯器自動(dòng)分配釋放,存放函數(shù)的參數(shù)、局部變量等。通常在超出作用域后由系統(tǒng)自動(dòng)釋放。2) 堆:一般由程序員負(fù)責(zé)分配與釋放,若程序員不釋放,占用的內(nèi)存直到程序結(jié)束才由OS回收。5. 在什么時(shí)候需要使用“常引用”?答:如果既要利用引用提高程序的效率,又要保護(hù)傳遞給函數(shù)的數(shù)據(jù)不在函數(shù)中被改變,就應(yīng)使用常引用。6. 全局變量和局部變量在內(nèi)存中的區(qū)別。答:1) 全局變量?jī)?chǔ)存在靜態(tài)數(shù)據(jù)區(qū),程序加載時(shí)分配并初始化,程序結(jié)束時(shí)釋放;2) 局部變量在棧中,進(jìn)入變量作用域后分配,超出其作用域后釋放;3) 全局變量不初始化會(huì)執(zhí)行缺省初始化,如整型變量缺省初始化為0,局部變量不初始化不會(huì)執(zhí)行缺省初始化,往往為垃圾值。7
3、. 簡(jiǎn)述內(nèi)存的分配方式。答:1) 靜態(tài)存儲(chǔ)區(qū),是在程序編譯時(shí)就已經(jīng)分配好的,在整個(gè)運(yùn)行期間都存在,如全局變量、常量。2) 棧上分配,函數(shù)內(nèi)的局部變量和形參在棧上分配。3) 堆上分配,動(dòng)態(tài)分配,用new分配內(nèi)存,用delete來(lái)釋放內(nèi)存。8. 指針的幾種典型應(yīng)用情況。int *pn;-指針數(shù)組,每個(gè)元素均為指向整型數(shù)據(jù)的指針。int (*p) n;-指向一維數(shù)組的指針,這個(gè)一維數(shù)組含有n個(gè)整型數(shù)據(jù)。int *p();-返回指向整型指針的函數(shù)。int (*p) ();-指向函數(shù)的指針,要求函數(shù)無(wú)參并返回整型。 9. 說(shuō)明0、0、0、“0”的區(qū)別答:0表示整數(shù)常量,值為0;0表示ASCII碼值為0的
4、字符常量;0表示ASCII碼值為48的字符常量;“0”為字符串常量,其中包含0和0兩個(gè)字符。10. 說(shuō)明下面程序中存在的問(wèn)題#include<iostream>int main()int arr10, *p=arr;int i;for( ; p<arr+10;+p)cin>>*p;for(; a<p;+arr)cout<<*arr<<0;return 0;答:arr為數(shù)組名,對(duì)應(yīng)地址不可修改,不能應(yīng)用+arr運(yùn)算。11. 有如下定義,請(qǐng)寫(xiě)出訪問(wèn)a23元素的不同方法int a45;int (*p)5 = a;答:a23、p23、*(a2
5、+3)、*(p2+3)、*(*(a+2)+3)、*(*(p+2)+3)1.2 閱讀程序1. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int main()double numOne = 2.5;int numTwo = 3;double quotient = numOne/2;cout<<"Quotient: "<<quotient<<endl;quotient = numTwo/2;cout<<"Quotient: "<<
6、quotient<<endl;return 0;2. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int main()int number = 103;int digit, tens, hundreds;digit = number %10;tens = (number/10)%10;hundreds = (number/100)%10;cout<<"Hundreds: "<<hundreds<<", Tens: "<<ten
7、s<<", Digit: "<<digit<<endl;return 0;3. 運(yùn)行下面的程序3次,分別輸入90、78、60,寫(xiě)出每次程序執(zhí)行的輸出結(jié)果。#include <iostream>using namespace std;int main()int grade;cout<<"Enter a grade(1-100): "cin>>grade;if(grade>=85)cout<<"Excellentn"else if(70<=gr
8、ade<85)cout<<"Passn"elsecout<<"Failn"return 0;4. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;bool check( int score, int baseLine)if( score >= baseLine )return true;return false;bool check(int score, int baseLine = 60);int main()int score=65;if( chec
9、k(score) = true)cout<<"Passed!n"elsecout<<"Failed!n"if( check(score, 70) = true)cout<<"Passed!n"elsecout<<"Failed!n"return 0;5. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int fun(int a);double fun(double a);char fun(char a
10、);int main()cout<<fun(3)<<endl;cout<<fun(3.6)<<endl;cout<<fun('A')<<endl;cout<<fun('g')<<endl;return 0;int fun(int a)return a/2; double fun(double a)return a/2; char fun(char a)char result=a;if(a>='a'&& a<='z
11、39;)result=a-32;if(a>='A'&& a<='Z')result=a+32;return result;6. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int gcd(int m, int n)if(n=0)return m;return gcd(n, m%n);int main()cout<<"1:"<<gcd(20,8)<<endl;cout<<"2:"&
12、lt;<gcd(36,64)<<endl;return 0;7. 寫(xiě)出下面程序的運(yùn)行結(jié)果,假定輸入"Hello_123"。#include <iostream>using namespace std;int main()char word50;cout<<"Enter a word:"cin>>word;for(int i=0; wordi!='0' +i)if(wordi>='a' && wordi<= 'z' )wordi
13、-= 32;cout<<"Upper case: "<<word<<endl;return 0;8. 寫(xiě)出下面程序的運(yùn)行結(jié)果,假定輸入"Hello123_World"。#include <iostream>using namespace std;int main()char word50;cout<<"Enter a string:"cin>>word;int pos=0;for(int i=0; wordi!='0' +i)if(wordi<
14、;'0' | wordi>'9' )wordpos=wordi;+pos;wordpos='0'cout<<"result: "<<word<<endl;return 0;9. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int main() int i,j; for(i=0;i<5;i+) for(j=i;j<5;j+) cout<<" *" cout<<en
15、dl; return 0;10. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int sum( int a, int b=1, int c=3 )return a+b+c;int main()int sum(int a, int b=3, int c=4);cout<<sum (2)<<endl;cout<<sum (2,5)<<endl;cout<<sum (2,3,6)<<endl; return 0;11. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include
16、 <iostream>using namespace std;char & elem(char *s, int n)return sn;int main()char str="HelloWorld"elem(str,1)= 'A'cout<<str<<endl; return 0;12. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int x=10; int main()int x=15;cout<<x<<endl; co
17、ut<<:x<<endl; return 0;13. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;void xhg(int *a,int *b)int *tmp;tmp=b; b=a; a=tmp;cout<<*a<<' '<<*b<<endl;int main()int x(5),y(4);xhg(&x,&y);cout<<x<<' '<<y<<endl;r
18、eturn 0;14. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;void xhg(int &a,int &b)int tmp;tmp=b; b=a; a=tmp;cout<<a<<' '<<b<<endl;int main()int x(5),y(4);xhg(x,y);cout<<x<<' '<<y<<endl;return 0;15. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include
19、 <iostream>using namespace std;int ff(int *a,int size)if(size=1)return a0;return asize-1+ff(a,size-1);int main()int a5=1,2,3,4,5;cout<<“result:”<<ff(a,5)<<endl;return 0;16. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;void f(const string& s,int n)cout<<s
20、n-1;if(n>1)f(s,n-1);int main()f("animal",6);cout<<endl;f("hello",3);return 0;17. 寫(xiě)出下面程序的運(yùn)行結(jié)果。#include <iostream>using namespace std;int func(int data,int size)int a=data0;int b=data0;for(int i=1;i<size;+i)if(datai>a) a=datai;if(datai<b) b=datai;return a-b;
21、int main()int a=9,3,2,-1,8,0,4;cout<<func(a,7)<<endl;cout<<func(a+2,4)<<endl;return 0;18. 寫(xiě)出下面程序的執(zhí)行結(jié)果。#include <iostream>using namespace std;int fun(int interval) int sum=0, i=0; for(i=0; i<100; i+=interval) sum+=i; return sum;int main()cout<<"Result: &quo
22、t;<<fun(2)<<endl;return 0;19. 寫(xiě)出下面程序的執(zhí)行結(jié)果。#include <iostream>using namespace std;double func( double pData , int size);int main()double array=2.2, 3.8, 6, 5.4;cout<<"Result: "<<func(array, 4)<<endl;cout<<"Result: "<<func(array, 3)&l
23、t;<endl;return 0;double func( double pData , int size)double result=0;int i;for(i=0; i<size; +i)result+=pDatai;result /= size;return result;2 面向?qū)ο蟪绦蛟O(shè)計(jì)2.1 基礎(chǔ)概念1、定義形式如下的類,C+編譯器自動(dòng)為該類產(chǎn)生的四個(gè)缺省函數(shù)是什么?寫(xiě)出其原型。class MyClass public:void SetX(int);private:int x;答:無(wú)參構(gòu)造函數(shù),拷貝構(gòu)造函數(shù),析構(gòu)函數(shù),賦值運(yùn)算符函數(shù)。MyClass();MyClass
24、(const MyClass& );MyClass();MyClass& operator=(const MyClass& );2、定義形式如下的類,寫(xiě)出C+編譯器自動(dòng)生成的拷貝構(gòu)造函數(shù)和賦值運(yùn)算符函數(shù)的定義。class MyClass public:void SetX(int);private:int x;答:MyClass(const MyClass& a) x=a.x; MyClass& MyClass:operator=(const MyClass& a) x=a.x; return *this; 3、拷貝構(gòu)造函數(shù)在哪幾種情況下會(huì)被調(diào)用?
25、答:1)當(dāng)類的一個(gè)對(duì)象去初始化該類的另一個(gè)對(duì)象時(shí);2)如果函數(shù)的形參是類的對(duì)象,調(diào)用函數(shù)進(jìn)行形參和實(shí)參結(jié)合時(shí);3)如果函數(shù)的返回值是類對(duì)象,函數(shù)調(diào)用完成返回時(shí)。4、構(gòu)造函數(shù)與普通成員函數(shù)相比有什么不同? 答:1)構(gòu)造函數(shù)是類的一種特殊成員函數(shù),一般情況下,它是專門用來(lái)初始化數(shù)據(jù)成員的。2)構(gòu)造函數(shù)的名字必須與類名相同,它不具有任何返回類型。構(gòu)造函數(shù)在創(chuàng)建對(duì)象時(shí)由系統(tǒng)自動(dòng)調(diào)用。5、創(chuàng)建派生類對(duì)象時(shí),構(gòu)造函數(shù)的調(diào)用順序是什么?答:1)先調(diào)用基類構(gòu)造函數(shù);2)按定義順序初始化對(duì)象數(shù)據(jù)成員;3)最后調(diào)用本類的構(gòu)造函數(shù)。6、哪幾種情況必須用到初始化成員列表?答:1)類的常量數(shù)據(jù)成員初始化;2)類的引用成
26、員初始化;3)類的對(duì)象成員初始化,而該對(duì)象沒(méi)有無(wú)參構(gòu)造函數(shù);4)基類成員初始化,而基類沒(méi)有無(wú)參構(gòu)造函數(shù)。7、C+頭文件中通常會(huì)包含哪些內(nèi)容?答:類的定義、常量定義、函數(shù)聲明、全局變量聲明8、什么是常對(duì)象?答:常對(duì)象是指在任何場(chǎng)合都不能對(duì)其成員的值進(jìn)行修改的對(duì)象。9、什么叫抽象類?答:包含純虛函數(shù)的類,不能定義抽象類對(duì)象,可以定義抽象類的指針或引用,指向或引用派生類對(duì)象。10、同類對(duì)象間是怎樣實(shí)現(xiàn)數(shù)據(jù)共享的?答:通過(guò)類的靜態(tài)數(shù)據(jù)成員來(lái)實(shí)現(xiàn)。靜態(tài)數(shù)據(jù)成員屬于類,而不為某個(gè)對(duì)象所私有,所有實(shí)例對(duì)象共享類的靜態(tài)數(shù)據(jù)成員。11、函數(shù)重載是什么意思?它與虛函數(shù)的概念有什么區(qū)別?答:1) 函數(shù)重載是相同作用
27、域內(nèi)存在多個(gè)同名的函數(shù),編譯系統(tǒng)在編譯階段通過(guò)函數(shù)參數(shù)個(gè)數(shù)、參數(shù)類型不同來(lái)區(qū)分該調(diào)用哪一個(gè)函數(shù),即實(shí)現(xiàn)的是靜態(tài)的多態(tài)性,但不能僅僅通過(guò)函數(shù)返回值不同來(lái)實(shí)現(xiàn)函數(shù)重載。2) 虛函數(shù)在基類中通過(guò)使用關(guān)鍵字virtual來(lái)聲明一個(gè)函數(shù)為虛函數(shù),該函數(shù)的功能可能在將來(lái)的派生類中重新定義或者在基類的基礎(chǔ)之上進(jìn)行擴(kuò)展,系統(tǒng)只能在運(yùn)行階段才能動(dòng)態(tài)決定該調(diào)用哪一個(gè)函數(shù),所以實(shí)現(xiàn)的是動(dòng)態(tài)的多態(tài)性。12、函數(shù)重載與函數(shù)覆蓋的區(qū)別?答:1)函數(shù)重載是在相同作用域內(nèi),存在多個(gè)同名的函數(shù),但函數(shù)參數(shù)或參數(shù)類型不同,調(diào)用函數(shù)時(shí)編譯器通過(guò)實(shí)參類型匹配某個(gè)函數(shù)版本,屬于靜態(tài)多態(tài)性;2)函數(shù)覆蓋指基類和派生類之間存在同名函數(shù),派
28、生類中的函數(shù)隱藏了基類的同名函數(shù)的現(xiàn)象。13、構(gòu)造函數(shù)和析構(gòu)函數(shù)是否可以被重載,為什么?答:構(gòu)造函數(shù)可以被重載,析構(gòu)函數(shù)不可以被重載。因?yàn)闃?gòu)造函數(shù)可以帶多個(gè)參數(shù),而析構(gòu)函數(shù)不能帶參數(shù)。14、分析正誤:抽象類不能產(chǎn)生實(shí)例,所以不需要有構(gòu)造函數(shù)。答:錯(cuò)。抽象類中可以包含數(shù)據(jù)成員,派生類對(duì)象初始化時(shí)需要通過(guò)抽象基類的構(gòu)造函數(shù)完成對(duì)其數(shù)據(jù)成員的初始化。15、一個(gè)類的構(gòu)造函數(shù)和析構(gòu)函數(shù)什么時(shí)候被調(diào)用,是否需要手工調(diào)用?答:構(gòu)造函數(shù)在創(chuàng)建類對(duì)象的時(shí)候被自動(dòng)調(diào)用,析構(gòu)函數(shù)在類對(duì)象生命期結(jié)束時(shí)。構(gòu)造函數(shù)和析構(gòu)函不需要手工調(diào)用,由系統(tǒng)自動(dòng)調(diào)用。16、構(gòu)造函數(shù)和析構(gòu)函數(shù)的調(diào)用順序?析構(gòu)函數(shù)為什么要定義為虛函數(shù)?答
29、案:構(gòu)造函數(shù)的調(diào)用順序:基類構(gòu)造函數(shù)對(duì)象成員構(gòu)造函數(shù)派生類構(gòu)造函數(shù);析構(gòu)函數(shù)的調(diào)用順序與構(gòu)造函數(shù)相反:派生類析構(gòu)函數(shù)對(duì)象成員析構(gòu)函數(shù)基類析構(gòu)函數(shù)。析構(gòu)函數(shù)定義為虛函數(shù)是為了防止析構(gòu)不徹底,造成內(nèi)存泄漏。17、請(qǐng)說(shuō)出類中private,protect,public三種訪問(wèn)限制類型的區(qū)別答案:private是私有類型,只有本類中的成員函數(shù)才能訪問(wèn);protect是保護(hù)型的,本類和子類成員函數(shù)可以訪問(wèn);public是公有類型,本類和子類成員函數(shù)可以訪問(wèn),類外部通過(guò)對(duì)象可以間接訪問(wèn)。18、Test是一種類類型,現(xiàn)要為其重載前置和后置+運(yùn)算符,寫(xiě)出它們的原型。答:1)前置+:Test& oper
30、ator+(); 2)后置+:Test& operator+(int)19、說(shuō)明組合和繼承在復(fù)用代碼方面的區(qū)別答:組合關(guān)系描述的是“有一種”關(guān)系,一個(gè)對(duì)象是另一個(gè)對(duì)象的一部分;繼承關(guān)系描述的“是一種”關(guān)系,實(shí)現(xiàn)對(duì)象的層次關(guān)系。20、指出Dog類定義中的錯(cuò)誤。#include <iostream>using namespace std;class Dogpublic: Dog() age=1; weight=10; Dog(int a,int w)age=a; weight=w; void play()const cout<<age<<endl; co
31、ut<<weight+<<endl;private: const int age; int weight;答:1) age為常數(shù)據(jù)成員,不能在構(gòu)造函數(shù)體內(nèi)賦值,只能通過(guò)初始化列表完成初始化;2) play為常成員函數(shù),不能修改數(shù)據(jù)成員的值。2.2 閱讀程序1、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Base public:void display() cout<<“Base display”<<endl; ;class Derived : public Base pub
32、lic:void display() cout<<“Derived display”<<endl; ;void display(Base & rr)rr.display();int main()Base b;Derived d;display(b);display(d);return 0;2、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Personpublic:Person() cout<<“Person構(gòu)造函數(shù)!”<<endl;Person() cout<&
33、lt;“Person被析構(gòu)!”<<endl;class Student : public Personpublic:Student() cout<<“Student構(gòu)造函數(shù)!”<<endl;Student() cout<<“Student被析構(gòu)!”<<endl;class Teacher : public Personpublic:Teacher() cout<<“Teacher構(gòu)造函數(shù)!”<<endl;Teacher() cout<<“Teacher被析構(gòu)!”<<endl;int ma
34、in()Student s;Teacher t;return 0;3、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Exampleprivate:int i;public:Example(int n) i=n;cout<<“Constructing.”<<endl;Example() cout<<“Destructing.”<<endl; int get_i() return i; ;int sqrt_it(Example o) return o.get_i()*o.get_
35、i();int main()Example x(10);cout<<x.get_i()<<endl;cout<<sqrt_it(x)<<endl;return 0;4、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Testprivate:int x;public:Test(int xx=0):x(xx)Test& operator+()x+;return *this;Test operator+(int)Test temp(*this); x+; return tem
36、p;int getValue()constreturn x;int main()Test t;cout<<t.getValue()<<endl;cout<<(t+).getValue()<<endl;cout<<(+t).getValue()<<endl;return 0;5、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Testpublic:Test() cout<<“Default constructor.”<<endl;
37、Test(const Test& t) cout<<“Copy constructor!”<<endl; ;void fun(Test p) int main()Test a;fun(a);return 0;6、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Dogpublic:static int number;Dog() number+;cout<<"New Dog"<<endl;Dog() number-;cout<<"A
38、 Dog Die"<<endl;int Dog:number=0;int main()Dog dog;Dog *pDog=new Dog();delete pDog;cout<<Dog:number<<endl;return 0;7、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Animalpublic:virtual void Report() cout<<“Report from Animal!”<<endl; ;class Tiger : publ
39、ic Animalpublic:virtual void Report() cout<<“Report from Tiger!”<<endl; ;class Monkey : public Animalpublic:virtual void Report() cout<<“Report from Monkey!”<<endl; ;void show(Animal *p)p->Report(); int main()Tiger tiger;Monkey monkey;Animal animal=tiger;show(&tiger);s
40、how(&monkey);show(&animal);return 0;8、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Testpublic:Test(int xx=1):x(xx)void output()constcout<<"x:"<<x<<endl;private:int x;int main()Test t;t.output();t=4;t.output();return 0;9、寫(xiě)出程序輸出結(jié)果#include <iostream&
41、gt;using namespace std;class Testpublic:Test()cout<<"Default Constructorn"Test(int xx):x(xx)cout<<"Int Constructorn"Test(const Test& t):x(t.x)cout<<"Copy Constructorn"private:int x;Test t;int main()cout<<"-n"Test tt(t);return 0;10、寫(xiě)
42、出程序輸出結(jié)果#include <iostream>using namespace std;class Baseprivate:int base;public:Base(int b) base=b;cout<<“base=”<<b<<endl;Base() ;class Derived : public Baseprivate:Base bb;int derived;public:Derived(int d,int b,int c) : bb(c) , Base(b) derived=d;cout<<“derived=”<<
43、;derived<<endl;Derived() ;int main()Derived d(3,4,5);return 0;11、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Matrixdouble * elem;int row,col;public:Matrix(int r,int c) row=r;col=c;elem=new doublerow *col;double &operator() (int x,int y)return elem col *(x-1)+y-1;double &
44、operator()(int x,int y) constreturn elem col*(x-1)+y-1;Matrix()delete elem; ;int main()Matrix m(5,8);int i;for(i=1;i<6;i+)m(i,1)=i+5;for(i=1; i<6; i+)cout<<m(i, 1)<<”,”;cout<<endl;return 0;12、寫(xiě)出程序輸出結(jié)果#include <iostream.h>class Point int x,y;public:Point(int x1=0, int y1
45、=0) :x(x1), y(y1) cout<<"Point:"<<x<<' '<<y<<'n'Point() cout<<"Point destructor!n"class Circle Point center;/圓心位置int radius;/半徑public:Circle(int cx,int cy, int r):center(cx,cy),radius(r) cout<<"Circle radius:"<
46、;<radius<<'n'Circle() cout<<"Circle destructor!n"int main()Circle c(3,4,5);return 0;13、寫(xiě)出程序輸出結(jié)果#include <iostream.h>class Basepublic:Base (int i,int j) x0=i; y0=j;void Move(int x,int y) x0+=x; y0+=y;void Show() cout<<"Base("<<x0<<&qu
47、ot;,"<<y0<<")"<<endl;private:int x0,y0;class Derived: private Basepublic:Derived(int i,int j,int m,int n):Base(i,j) x=m; y=n;void Show ()cout<<"Next("<<x<<","<<y<<")"<<endl;void Move1()Move(2,3);void S
48、how1()Base:Show();private:int x,y;int main( )Base b(1,2);b.Show();Derived d(3,4,10,15);d.Move1();d.Show();d.Show1();return 0;14、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class Testpublic:Test() cout<<“Hello: ”<<+i<<endl; static int i;int Test:i=0;int main()Test t2;Test *
49、p;p=new Test2;return 0;15、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class TestClasspublic:TestClass(int a) aa=a;cout<<aa<<" Constructed!n"TestClass()cout<<aa<<" Destructed!n"private:int aa;TestClass AA(3);int main()cout<<"In MainFucti
50、on."<<endl;TestClass BB(5);return 0;16、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class TestClasspublic:TestClass() cout<<"Constructed!n" TestClass() cout<<"Destructed!n" ;int main()TestClass t1;TestClass *p;p=new TestClass;delete p;return 0;17、寫(xiě)出
51、程序輸出結(jié)果#include <iostream>using namespace std;class TestClasspublic:TestClass() cout<<"Constructed!n"value = 10;TestClass() cout<<"Destructed!n" void setValue( int newValue) value = newValue; int getValue()const return value; private:int value;int main()TestClass
52、 t1;cout<<t1.getValue()<<endl;TestClass &rt1 = t1;rt1.setValue(20);cout<<t1.getValue()<<endl;TestClass *pt=&t1;pt->setValue(30);cout<<t1.getValue()<<endl;return 0;18、寫(xiě)出程序輸出結(jié)果#include <iostream>#include <string>using namespace std;class Perso
53、nprivate:string name;int age;public:Person(string name,int age);Person()cout<<"Bye! My name is "<<name<<",I'm "<<age<<" years old."<<endl;void growup() age+; ;Person:Person(string name, int age)this->name=name;this->age=age;
54、cout<<"Hello,"<<name<<" is comming!"<<endl;int main()Person p("zhang",1);for(int i=0;i<90;+i)p.growup();return 0;19、寫(xiě)出程序輸出結(jié)果#include <iostream>using namespace std;class TestClasspublic:TestClass( int newValue=0) value = newValue;cout<
55、<"Value: "<<value<<", Constructed!n"TestClass( const TestClass & rhs)value = rhs.value;cout<<"Value: "<<value<<", Copy Constructed!n"TestClass() cout<<"Value: "<<value<<", Destructed!n"
56、 void setValue( int newValue) value = newValue; int getValue()const return value; private:int value;TestClass fooFun( TestClass t)t.setValue(20);return t;int main()TestClass t1(10),t2(t1),t3;t3=fooFun(t1);return 0;20、寫(xiě)出程序輸出結(jié)果#include <iostream>#include <string>using namespace std;class M
57、ousepublic:Mouse( string newName );Mouse();string getName() return name; static int mouseNum;private:string name;int Mouse:mouseNum = 0;Mouse:Mouse( string newName ) : name(newName)cout<<name<<" is born!n"mouseNum+;Mouse:Mouse()cout<<name<<" is gone.n"mous
58、eNum-;class Catpublic:Cat( const string& newName): name(newName)cout<<name<<" is coming!n"void catchMouse( Mouse *pMouse);private:string name;void Cat:catchMouse( Mouse *pMouse)cout<<"I catch you! I never want to see you again. "<<pMouse->getName()<<"!"<<endl;delete pMouse;int main()Cat cat("Black Cat Detective");Mouse *pMouse1 = new Mouse("Micky");cout<<Mouse:mouseNum<<" mouse left.
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位改造車棚合同范例
- 合作合同范本 英文
- 主播合同范本個(gè)人
- 化工藥劑供貨合同范本
- 公司內(nèi)勤合同范本
- 合租廠房合同范本
- 醫(yī)院大型設(shè)備合同范例
- 單獨(dú)設(shè)計(jì)合同范例
- 送貨付款合同范本模板
- 吳中區(qū)解約合同范例
- (100題)2024時(shí)事政治考試題庫(kù)
- 新概念英語(yǔ)第二冊(cè)-Lesson18-同步習(xí)題含答案
- 中國(guó)兒童幽門螺桿菌感染診治專家共識(shí)2022
- 全國(guó)大學(xué)英語(yǔ)六級(jí)詞匯表
- 2024年3月江蘇海洋大學(xué)招考聘用專職輔導(dǎo)員和工作人員5人筆試參考題庫(kù)附帶答案詳解
- 垂線課件人教版數(shù)學(xué)七年級(jí)下冊(cè)
- 建設(shè)法規(guī)(全套課件)
- 東來(lái)順牛羊肉培訓(xùn)
- 心衰患者的容量管理中國(guó)專家共識(shí)-共識(shí)解讀
- 外用激素合理使用
- H3C全系列產(chǎn)品visio圖標(biāo)庫(kù)
評(píng)論
0/150
提交評(píng)論