• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            勤能補(bǔ)拙,Expter

            成都游戲Coder,記錄游戲開(kāi)發(fā)過(guò)程的筆記和心得!

            #

            轉(zhuǎn):一些操作系統(tǒng)題目

            181.為了照顧執(zhí)行時(shí)間比較短的作業(yè),使其優(yōu)先調(diào)度,應(yīng)選擇( )算法
            A.FCFS B
            SJF C.HRN D.優(yōu)先級(jí)調(diào)度
            答案:B
            182
            .在進(jìn)行作業(yè)調(diào)度時(shí),要想兼顧作業(yè)等待時(shí)間和作業(yè)執(zhí)行時(shí)間,應(yīng)選取( )算法。
            A
            FCFS BSJF CHRN D.優(yōu)先級(jí)調(diào)度
            答案:C
            183
            .作業(yè)調(diào)度算法中所提到的響應(yīng)比是指( )
            A
            .作業(yè)等待時(shí)間與作業(yè)執(zhí)行時(shí)間之比 B.作業(yè)執(zhí)行時(shí)間與作業(yè)等待時(shí)間之比
            C.
            作業(yè)執(zhí)行時(shí)間與作業(yè)調(diào)度時(shí)間之比 D.作業(yè)調(diào)度時(shí)間與作業(yè)執(zhí)行時(shí)間之比
            答案:A
            184
            .在操作系統(tǒng)中,作業(yè)處于( )時(shí),已處于進(jìn)程管理之
            A.
            后備 B.阻塞 C.執(zhí)行 D.完成
            答案:C
            185
            .在操作系統(tǒng)初始引導(dǎo)過(guò)程,需要關(guān)閉系統(tǒng)中斷,以保證系統(tǒng)的順利引導(dǎo),這是在( )時(shí)進(jìn)行的。
            A.
            系統(tǒng)控制權(quán)交給操作系統(tǒng)初始引導(dǎo)后,開(kāi)始進(jìn)行操作系統(tǒng)的引導(dǎo)
            B.
            建立有關(guān)進(jìn)程的所有數(shù)據(jù)結(jié)構(gòu) C.系統(tǒng)環(huán)境檢查完畢 D.初始化引導(dǎo)結(jié)束
            答案:A
            186.
            操作系統(tǒng)中的作業(yè)管理是一種( )
            A.
            宏觀的高級(jí)管理 B.宏觀的低級(jí)管理 C.系統(tǒng)剛開(kāi)始上電 D.初始化引導(dǎo)完成
            答案:A
            187
            .操作系統(tǒng)中,程序的運(yùn)行從順序轉(zhuǎn)入并發(fā),是在( )時(shí)。
            A.
            初始化完成PCB,并且打開(kāi)系統(tǒng)中斷 B.初始引導(dǎo)開(kāi)始,關(guān)閉中斷系
            C.
            系統(tǒng)剛開(kāi)始上電 D.初始化引導(dǎo)完成
            答案:A
            188
            .在一個(gè)單用戶(hù)操作系統(tǒng)中,在運(yùn)行某一應(yīng)用程序運(yùn)行過(guò)程中將某些數(shù)據(jù)存放到磁盤(pán)上去的時(shí)候,他使用操作系統(tǒng)提供的( )這一接口。
            A.
            鍵盤(pán)命令 B.命令 C.程序接 D.原語(yǔ)
            答案:C
            189
            .當(dāng)一個(gè)位于后備隊(duì)列中的作業(yè)被選中調(diào)入內(nèi)存的時(shí)候,按照其作業(yè)步的順序,依次為每個(gè)作業(yè)建立對(duì)應(yīng)的主進(jìn)程,并為它分配必要的資源,然后提交給進(jìn)程管理模塊引由( )管理。
            A.
            進(jìn)程調(diào)度程序 B.作業(yè)調(diào)度程序 C.IO管理程序 D.內(nèi)存管理程序
            答案:A
            190
            .作業(yè)已經(jīng)進(jìn)入內(nèi)存,由于作業(yè)步的主進(jìn)程又可以建立若干子進(jìn)程,這樣對(duì)一個(gè)作業(yè)來(lái)講,有的子進(jìn)程正占用處理機(jī)而處于進(jìn)程運(yùn)行狀態(tài),有的子進(jìn)程又可能在等待,應(yīng)該認(rèn)為此時(shí)該作業(yè)處于( )狀態(tài)。
            A.
            等待 B.阻塞 C.執(zhí)行 D.就緒
            答案:C
            191
            UNIX系統(tǒng)中用戶(hù)使用最多接觸最直接和最頻繁的部分是( )
            A.
            輸出設(shè)備 B.文件系統(tǒng) C.進(jìn)程管理 D.存儲(chǔ)管理
            答案:B
            192
            .特別文件是與( )有關(guān)的文件。
            A.
            文本 B.圖像 C.硬件設(shè)備 D.二進(jìn)制數(shù)據(jù)
            答案:C
            193
            .用戶(hù)的( )就是用戶(hù)注冊(cè)進(jìn)入系統(tǒng)時(shí)的初始基本目錄。
            A.
            當(dāng)前目錄 B.工作目錄 C.相對(duì)路徑名 D.主目錄
            答案:D
            194
            .可以被多個(gè)進(jìn)程在任一時(shí)刻共享的代碼必須是( )
            A.
            不自身修改的純碼 B.順序代碼
            C.
            無(wú)轉(zhuǎn)移指令的代碼 D.匯編語(yǔ)言編制的代碼
            答案:A
            195
            .在一個(gè)以批處理為主的系統(tǒng)中,為了保證系統(tǒng)的吞吐率,總是要力爭(zhēng)縮短用戶(hù)作業(yè)的( )
            A.
            周轉(zhuǎn)時(shí)間 B.運(yùn)行時(shí)間 C.提交時(shí)間 D,完成時(shí)間
            答案:A
            196
            .作業(yè)在系統(tǒng)中存在與否的唯一標(biāo)志是( )
            A.
            源程序 B.作業(yè)說(shuō)明書(shū) C.作業(yè)控制塊 D.目的程序
            答案:C
            197
            .采用可重人程序是通過(guò)使用( )的方法來(lái)改善響應(yīng)時(shí)間的
            A.
            減少用戶(hù)數(shù)目 B.改變時(shí)間片長(zhǎng)短 C.加快對(duì)換速度 D.減少對(duì)換信息量
            答案:D
            198
            .虛擬存儲(chǔ)器是( )
            A.
            可提高計(jì)算機(jī)運(yùn)算速度的設(shè)備 B.容量擴(kuò)大了的主存
            C
            .實(shí)際上不存在的存儲(chǔ)器 D.可以容納總和超過(guò)主存容量的多個(gè)作業(yè)同時(shí)運(yùn)行的一個(gè)地址空間
            答案:D
            199
            .下列四個(gè)操作系統(tǒng)中,是分時(shí)系統(tǒng)的為( )
            A.CP
            W B.MS-DOS C.UNIX DWINDOWS NT
            答案:C
            200.
            通道是一種( )
            A.
            保存IO信息的部件 B.傳輸信息的電子線(xiàn)路 C.通用處理機(jī) D.專(zhuān)用處理機(jī)
            答案:D

            201.分頁(yè)系統(tǒng)的頁(yè)面是為( )所感知的。
            A.
            用戶(hù) B.操作系統(tǒng) C.編譯系統(tǒng) D.連接裝配程序
            答案:B
            202
            .批處理系統(tǒng)的主要缺點(diǎn)是( )
            A.CPU
            的利用率不高 B.失去了交互性 C.不具備并行性 D.以上都不是
            答案:B
            203
            .在Pascal程序中調(diào)用的sin(x)( )
            A.
            系統(tǒng)調(diào)用 B.標(biāo)準(zhǔn)子程序 C.操作系統(tǒng)命令 D.進(jìn)程
            答案:B
            204
            ,在請(qǐng)求分頁(yè)系統(tǒng)中,LRU算法是指( )
            A.
            最早進(jìn)入內(nèi)存的頁(yè)先淘汰 B.近期最長(zhǎng)時(shí)間以來(lái)沒(méi)被訪(fǎng)問(wèn)的頁(yè)先淘汰
            C
            .近期被訪(fǎng)問(wèn)次數(shù)最少的頁(yè)先淘汰 D.以后再也不用的頁(yè)先淘汰
            答案:B
            205
            .一個(gè)進(jìn)程被喚醒意味著( )
            A.
            該進(jìn)程重新占有于CPU B.進(jìn)程狀態(tài)變?yōu)榫途w
            C
            .它的優(yōu)先權(quán)變?yōu)樽畲?span> D.
            PCB移至就緒隊(duì)列的隊(duì)首
            答案:B
            206
            .在一個(gè)請(qǐng)求頁(yè)式存儲(chǔ)管理中,一個(gè)程序的頁(yè)面走向?yàn)?span>4
            3213543215,并采用LUR算法。設(shè)分配給該程序的存儲(chǔ)塊數(shù)M分別為34,在該訪(fǎng)問(wèn)中發(fā)生的缺頁(yè)次數(shù)F和缺頁(yè)率f ( )
            A.
            M=3F=8f67% ②M=4F=5f42
            B
            .①M=3F=10f=83% ②M=4F=8f67
            C
            .①M=3F=9f75% ②M=4F=IOf83
            D
            .①M=3F=7f58% ②M=4F=6f=50
            答案:B
            207
            .請(qǐng)求頁(yè)式管理中缺頁(yè)中斷率與進(jìn)程所分得的內(nèi)存頁(yè)面數(shù)、( )和進(jìn)程頁(yè)面流的走向等因素有關(guān)。
            A.
            頁(yè)表的位置 B.置換算法 C.頁(yè)面的大小 D.進(jìn)程調(diào)度算法
            答案:B
            208.
            進(jìn)程調(diào)度是從( )中選擇一個(gè)進(jìn)程投入運(yùn)行。
            A.
            就緒隊(duì)列 B.等待隊(duì)列 C.作業(yè)后備隊(duì)列 D.提交隊(duì)列
            答案:A
            209
            ,兩個(gè)進(jìn)程爭(zhēng)奪同一個(gè)資源( )
            A.
            一定死鎖 B.不一定死鎖 C.不會(huì)死鎖 D.以上說(shuō)都不對(duì)
            答案:B
            210
            .在文件系統(tǒng)中,用戶(hù)以( )方式直接使用外存。
            A.
            邏輯地址 B.物理地址 C.名字空間 D.虛擬地址
            答案:D
            211
            .文件信息的邏輯塊號(hào)到物理塊號(hào)的變換是由( )決定的。
            A.
            邏輯結(jié)構(gòu) B.頁(yè)表 C.物理結(jié)構(gòu) D.分配算法
            答案:C
            212.
            用戶(hù)要在程序一級(jí)獲得系統(tǒng)幫助,必須通過(guò)( )
            A.
            進(jìn)程調(diào)度 B.作業(yè)調(diào)度 C.鍵盤(pán)命令 D.系統(tǒng)調(diào)用
            答案:D
            213.
            在聯(lián)想存儲(chǔ)器中的頁(yè)中,其信息( )
            A.
            一定在外存中 B.在外存和內(nèi)存中 C.一定在內(nèi)存中 D.以上說(shuō)法都不對(duì)
            答案:D
            214
            .操作系統(tǒng)是一組( )
            A.
            文件管理程序 B.中斷處理程序 C.資源管理程序 D.設(shè)備管理程序
            答案:C
            215
            .進(jìn)程和程序的本質(zhì)區(qū)別是( )
            A.
            存儲(chǔ)在內(nèi)存和外存 B.順序和非順序執(zhí)行機(jī)器指令
            C.
            分時(shí)使用和獨(dú)占使用計(jì)算機(jī)資源 D.動(dòng)態(tài)和靜態(tài)特征
            答案:D
            216
            .某進(jìn)程所要求的一次打印輸出結(jié)束,該進(jìn)程被( ),其進(jìn)程的狀態(tài)將從( )
            A.
            阻塞 B.執(zhí)行 C.喚醒 D.運(yùn)行狀態(tài)到阻塞狀態(tài)
            E
            .就緒到運(yùn)行 F.阻塞到就緒 G.運(yùn)行到就緒
            答案:CF
            217
            .系統(tǒng)感知進(jìn)程的唯一實(shí)體是( )
            A
            JCB BFCB CPCB DSJT
            答案:B
            218
            .段式虛擬存儲(chǔ)器的最大容量是( )
            A.
            由計(jì)算機(jī)地址結(jié)構(gòu)長(zhǎng)度決定的 B.由段表的長(zhǎng)度決定的
            C.
            由內(nèi)存地址寄存器的長(zhǎng)度決定的 D.無(wú)窮大的
            答案:A
            219
            .在頁(yè)式存儲(chǔ)管理中,CPU形成一個(gè)有效地址時(shí),要查找頁(yè)表,這一工作是由( )實(shí)現(xiàn)的。
            A.
            查表程序 B.存取控制 C.硬件自動(dòng) D.軟件自動(dòng)
            答案:C
            220
            .段頁(yè)式管理中,地址映像表是( )
            A.
            每個(gè)作業(yè)或進(jìn)程一張段表,一張頁(yè)表 B.每個(gè)作業(yè)或進(jìn)程的每個(gè)段一張段表,一張頁(yè)表
            C
            .每個(gè)作業(yè)或進(jìn)程一張段表,每個(gè)段一張頁(yè)表 D.每個(gè)作業(yè)一張頁(yè)表,每個(gè)段一張段表
            答案:C
            221
            .任一進(jìn)程任一時(shí)刻有( )
            A.
            一種狀態(tài) B.兩種狀態(tài) C.三種狀態(tài) D.四種狀態(tài)
            答案:A
            222
            CPU對(duì)通道的請(qǐng)求形式是( )
            A.
            自陷 B.中斷 C.通道命令 D.轉(zhuǎn)移指令
            答案:C
            223
            .在請(qǐng)求頁(yè)式存儲(chǔ)管理中,當(dāng)查找的頁(yè)不在( )中時(shí),要產(chǎn)生缺頁(yè)中斷。
            A.
            外存 B.虛存 C.內(nèi)存 D.地址空間
            答案:C
            224
            .所謂LRU頁(yè)面置換算法,是指( )
            A.
            將駐留在主存中的頁(yè)面隨便挑選一頁(yè)淘汰 B.將駐留在主存中的時(shí)間最長(zhǎng)的一頁(yè)淘汰
            C
            .將駐留在主存中近期最少使用的頁(yè)面淘汰 D.將駐留在主存中的最不常用的頁(yè)淘汰
            答案:C
            225
            .文件系統(tǒng)實(shí)現(xiàn)按名存取主要是靠( )來(lái)實(shí)現(xiàn)的。
            A.
            查找位示圖 B.查找文件目錄 C.查找作業(yè)表 D.地址轉(zhuǎn)換機(jī)構(gòu)
            答案:B
            226
            .文件系統(tǒng)采用二級(jí)文件目錄可以( )
            A.
            縮短訪(fǎng)問(wèn)存儲(chǔ)器的時(shí)間 B.實(shí)現(xiàn)文件共享
            C.
            節(jié)省內(nèi)存空間 D.解決不同用戶(hù)問(wèn)的文件命名沖突
            答案:D
            227
            .計(jì)算機(jī)操作系統(tǒng)的功能是( )
            A.
            把源程序代碼轉(zhuǎn)換為目標(biāo)代碼
            B.
            實(shí)現(xiàn)計(jì)算機(jī)用戶(hù)之間的相互交流
            C.
            完成計(jì)算機(jī)硬件與軟件之間的轉(zhuǎn)換
            D
            .控制、管理計(jì)算機(jī)系統(tǒng)的資源和程序的執(zhí)行
            答案:D
            228
            .在批處理系統(tǒng)中,周轉(zhuǎn)時(shí)間是( )
            A.
            作業(yè)運(yùn)行時(shí)間 B.作業(yè)等待時(shí)間和運(yùn)行時(shí)間之和
            C.
            作業(yè)的相對(duì)等待時(shí)間 D.作業(yè)被調(diào)度進(jìn)入內(nèi)存到運(yùn)行完畢的時(shí)間
            答案:B
            229
            .進(jìn)程創(chuàng)建原語(yǔ)的任務(wù)是( )
            A.
            為進(jìn)程編制程序 B.為進(jìn)程建立PCB C.為進(jìn)程分配CPU D.為進(jìn)程分配內(nèi)存
            答案:C
            230
            .進(jìn)程從運(yùn)行狀態(tài)變?yōu)榈却臓顟B(tài)原因是( )
            A.
            輸入或輸出事件發(fā)生 B.時(shí)間片刻 C.輸入或輸出事件完成 D,某個(gè)進(jìn)程被喚醒
            答案:C

            231.進(jìn)程被創(chuàng)建后進(jìn)人( )排隊(duì)。
            A.
            阻塞隊(duì)列 B.就緒隊(duì)列 C.緩沖隊(duì)列 D.運(yùn)行隊(duì)列
            答案:B
            232
            .在非剝奪調(diào)度方式下,運(yùn)行進(jìn)程執(zhí)行V原語(yǔ)后,其狀態(tài)( )
            A.
            不變 B.要變 C.可能要變 D.可能不變
            答案:A
            233
            V原語(yǔ)對(duì)信號(hào)量做運(yùn)算后,( )
            A
            .當(dāng)S<0時(shí)進(jìn)程繼續(xù)執(zhí)行 B. 當(dāng)S<0時(shí)要喚醒一個(gè)就緒進(jìn)
            C.
            當(dāng)S0時(shí)要喚醒一個(gè)等待進(jìn)程 D.當(dāng)S0時(shí)要喚醒一個(gè)就緒進(jìn)程
            答案:C
            234
            .設(shè)基址寄存器的內(nèi)容為1000,執(zhí)行指令"LOAD A2000"時(shí),操作數(shù)的地址是( )
            A
            1000 B2000 C3000 D4000
            答案:C
            235
            .通道對(duì)CPU的請(qǐng)求形式是( )
            A.
            自陷 B.中斷 C.通道命令 D.跳轉(zhuǎn)指令
            答案:B
            236
            SPOOLING技術(shù)利用于( )
            A.
            外設(shè)概念 B.虛擬設(shè)備概念 C.磁帶概念 D.存儲(chǔ)概念
            答案:B
            237
            .在配有操作系統(tǒng)的計(jì)算機(jī)中,用戶(hù)程序通過(guò)( )向操作系統(tǒng)指出使用外部設(shè)備的要求。
            A.
            作業(yè)申請(qǐng) B.原語(yǔ) C.廣義指令 DIO指令
            答案:C
            238
            .環(huán)形緩沖區(qū)是( )
            A.
            單緩沖區(qū) B.雙緩沖區(qū) C.多緩沖區(qū) D.緩沖區(qū)
            答案:C
            239
            CPU與通道可以并行執(zhí)行,并通過(guò)( )實(shí)現(xiàn)彼此之間的通訊和同步。
            A.I
            O指令 BIO中斷 CIO指令和IO中斷 D.操作員
            答案:C
            240
            ( )是直接存取設(shè)備。
            A.
            磁盤(pán) B.磁帶 C.打印機(jī) D.鍵盤(pán)顯示終端
            答案:A

            posted @ 2008-10-30 10:17 expter 閱讀(1102) | 評(píng)論 (1)編輯 收藏

            一道靜態(tài)變量的筆試題目


            題目大概這樣子。。
            # include <iostream>
            using namespace std;

            class base
            {
            public:
                
            base():m_val2(0)
                
            {
                }


                
            int &get1(){return m_val1;}
                
            int &get2(){return m_val2;}
                

                
            static int  getr1(int &a){return a++;}
                
            static int  getr2(int &a){return a++;}

            private:
                
            static int m_val1;
                
            int        m_val2;
            }
            ;
            int base::m_val1 = 0;
            void print(int val)
            {
                
            static int count = 1;
                cout 
            << count++ <<",val = "<<val<<endl;
            }


            int main()
            {
               
            base o1;
               
            base o2;
               print(o1.getr1(o1.get1()));
               print(o1.get1());
               print(o2.get1());

               print(o1.getr1(o1.get1()));
               print(o1.get1());
               print(o2.get1());

               print(o1.getr1(o1.get1()));
               print(o1.get1());
               print(o2.get1());

               print(o1.getr2(o1.get2()));
               print(o1.get2());
               print(o2.get2());
                
            return 0;
            }

            主要考慮靜態(tài)變量的存儲(chǔ)空間。。。

            答案很簡(jiǎn)單。。

            posted @ 2008-10-23 21:16 expter 閱讀(623) | 評(píng)論 (0)編輯 收藏

            指針的一些運(yùn)算測(cè)試

            # include <iostream>
            # include 
            <stdio.h>
            using namespace std;

            enum string
            {
                x1,x2,x3
            =10,x4,x5,
            }
            X;

            int main()
            {
                cout 
            << x1 << x5<<endl;
                unsigned 
            char *p1;
                unsigned 
            long *p2;
                p1 
            = (unsigned char *)0x801000;
                p2 
            = (unsigned long *)0x801000;
                
                    printf(
            "%p\n",p1+5);
                printf(
            "%p\n",p2+5);

                
            char * t [] = "abc","daa","caa"};
                
            char **bb = t;
                cout 
            << *(bb+1<<endl;
                cout 
            << sizeof(t)<<endl;
                
            return 0;
            }

            運(yùn)行結(jié)果為

            0  12    //X1  X5
            00801005   //P1+5
            00801014  //P1 +5*sizeof(long)
            daa            //bb = t , bb+1 -> t+1;  *(b+1) = t[1]
            12             // sizeof(char *)*3 

            posted @ 2008-10-21 11:11 expter 閱讀(233) | 評(píng)論 (0)編輯 收藏

            一道指針筆試題

            //已知結(jié)構(gòu)體

            struct node
            {
                node 
            * link;
                node 
            * next;
            }
            ;

            struct test
            {
                
            int  a1;
                
            int  a2;
                
            //
                node *no;
                
            int  aj;
                
            //..
            }
            ;
            現(xiàn)在有一函數(shù)
            int    Deal(node * link ,const int a);
            假設(shè)知道link的地址,且知道link是一個(gè)test的一個(gè)對(duì)象(tmp)的地址。
            現(xiàn)在求test對(duì)象tmp的地址。。

            此題的關(guān)鍵就是看no前面有多少個(gè)int,然后減去偏移量即可。。
            因?yàn)閠est的對(duì)齊字節(jié)為4個(gè)字節(jié),然后no前面有(j-1)個(gè)int 變量。。

            所以此題目及node *p = link;
                                    test   *t = p - (j-1);        //因?yàn)閷?duì)齊為4個(gè)字節(jié)
                                    或者
                                    int    add 得到p的地址。
                                    則t的地址為 add-(j-1)*sizeof(int)


            測(cè)試程序
            # include <iostream>
            # include 
            <stdio.h>

            struct node
            {
                node 
            * link;
                node 
            * next;
            }
            ;

            struct test
            {
                
            int  a1;
                
            int  a2;
                
            //
                node *no;
                
            int  aj;
                
            //..
            }
            ;

            int main()
            {
                test 
            *= new test;  //
                node **= &(t->no);
                printf(
            "t = %p\na = %p\n",t,a);//輸出t,a的地址,
                printf("t = %p\n",a-2);//輸入我們計(jì)算的地址

                
            return 0;
            }


            posted @ 2008-10-20 21:14 expter 閱讀(924) | 評(píng)論 (1)編輯 收藏

            一個(gè)STL的筆試改錯(cuò)題

            # include <iostream>
            # include 
            <list>
            using namespace std;

            int main()
            {
                
            int i;
                list
            <int> list1;
                
            for(i = 0; i < 8; i++)
                   list1.push_back(i);

                
            for(list<int>::iterator  it= list1.begin(); it != list1.end(); it++)
                
            {
                         
            if (*it %2 )
                    list1.erase(it);
                }


                
            return 0;
            }
            又定義可以知道list1刪除it后,后面的節(jié)點(diǎn)的斷了。。

            因?yàn)閑rase方法是返回的刪除的節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn)的地址。。所有改錯(cuò)后的代碼
            # include <iostream>
            # include 
            <list>
            using namespace std;

            int main()
            {
                
            int i;
                list
            <int> list1;
                
            for(i = 0; i < 8; i++)
                   list1.push_back(i);

                
            for(list<int>::iterator  it= list1.begin(); it != list1.end(); it++)
                
            {
                    
            //cout << *it <<endl;
                     if (*it %2 )
                        it 
            =list1.erase(it);
                }

                
            for(it= list1.begin(); it != list1.end(); it++)
                
            {
                    cout 
            << *it <<endl;
                }

                
            return 0;
            }

            posted @ 2008-10-20 20:35 expter 閱讀(1299) | 評(píng)論 (4)編輯 收藏

            金山2009校園招聘成都一筆試題

             1# include <iostream>
             2using namespace std;
             3
             4class base
             5{
             6public:
             7    base()
             8    {
             9        cout <<" base::val "<<endl;
            10        val = 12345;
            11        print();
            12    }

            13    base(int x)
            14    {
            15        val = x;
            16        cout << " "<<endl;
            17    }

            18    virtual void print()
            19    {
            20        cout << " base:print(), val = "<<val<<endl;
            21    }

            22    base & operator = (int x)
            23    {
            24        val = x;
            25        cout <<" base::operator, val = "<<x<<endl;
            26        return *this;
            27    }

            28    void relase()
            29    {
            30        cout << " base::relase" <<endl;
            31    }

            32    ~base()
            33    {
            34        cout << " ~base::val = "<< val <<endl;
            35    }

            36protected:
            37    int  val;
            38}
            ;
            39
            40class deiver:public base
            41{
            42public:
            43    deiver()
            44    {
            45        cout << " deiver::val "<<endl;
            46    }

            47    
            48    deiver(int x)
            49    {
            50        val = x;
            51        print();
            52    }

            53    void print()
            54    {
            55        cout << " deiver::print(), val =  "<< val <<endl;
            56    }

            57    void relase()
            58    {
            59        cout << " deiver::relase, val = "<<val<<endl;
            60    }

            61    deiver & operator = (int x)
            62    {
            63        val = x;
            64        cout <<" deiver::operator, val = "<<x<<endl;
            65        return *this;
            66    }

            67    ~deiver()
            68    {
            69        cout << " deiver::~deiver "<<endl;
            70    }

            71}
            ;
            72void des(base * b)
            73{
            74    b->print();
            75    b->relase();
            76}

            77deiver  de = 98765;
            78int main()
            79{
            80        deiver  * dee = new deiver;
            81    *(base *)dee = 100;
            82    des(dee);
            83
            84    return 0;
            85}

            86

            輸出結(jié)果。。。
            因?yàn)閐e是全局變量,所以先調(diào)用基類(lèi)構(gòu)造函數(shù),在調(diào)用子類(lèi)的帶int的構(gòu)造方法。。
            然后dee同理先基類(lèi)構(gòu)造函數(shù),然后調(diào)用默認(rèn)構(gòu)造函數(shù)。

            最后dee強(qiáng)制轉(zhuǎn)換為基類(lèi)指針進(jìn)行復(fù)制,根據(jù)多態(tài),調(diào)用基類(lèi)的operator=方法
            最后調(diào)用子類(lèi)的print和父類(lèi)的relase方法。

            因?yàn)閜rint是虛函數(shù)


            運(yùn)算結(jié)果為
             base::val
             base:print(), val = 12345
             deiver::print(), val =  98765
             base::val
             base:print(), val = 12345
             deiver::val
             base::operator, val = 100
             deiver::print(), val =  100
             base::relase

            posted @ 2008-10-20 20:30 expter 閱讀(3647) | 評(píng)論 (10)編輯 收藏

            BLOG終于又開(kāi)了。。。

              在經(jīng)歷sohu不能編輯代碼,csdn打開(kāi)太慢后
            終于放棄那2個(gè)BLOG,來(lái)到CPPBLOG開(kāi)了我的第3個(gè)學(xué)習(xí)筆記

            歡迎大家光臨,這里將要記錄我的學(xué)習(xí),面試,工作,生活筆記

            posted @ 2008-10-20 18:45 expter 閱讀(268) | 評(píng)論 (1)編輯 收藏

            僅列出標(biāo)題
            共7頁(yè): 1 2 3 4 5 6 7 
            国产成人久久激情91| 亚洲国产精品无码成人片久久| 精品久久久久中文字幕日本| 中文字幕久久亚洲一区| 蜜桃麻豆www久久| 国产精品久久久久久久| 久久国产色AV免费观看| 麻豆AV一区二区三区久久| 中文字幕无码免费久久| 久久久久亚洲AV无码观看| 久久久久久免费视频| 国内精品久久久久影院老司| 亚洲精品国产第一综合99久久| 欧美无乱码久久久免费午夜一区二区三区中文字幕 | 久久精品日日躁夜夜躁欧美| 看全色黄大色大片免费久久久| 久久久黄片| 性高朝久久久久久久久久| 亚洲日韩欧美一区久久久久我| 亚洲国产精品成人AV无码久久综合影院| 久久精品国产精品亚洲| 91精品国产高清久久久久久91| 日本久久久精品中文字幕| 日本免费久久久久久久网站| yellow中文字幕久久网 | 久久婷婷五月综合成人D啪| 久久强奷乱码老熟女网站| 青青青青久久精品国产h久久精品五福影院1421 | 99久久中文字幕| 99久久精品国产综合一区| 精品免费久久久久国产一区| 日本精品久久久久久久久免费| 久久久久久久久久久| 久久久久久午夜成人影院| 亚洲乱亚洲乱淫久久| 亚洲人AV永久一区二区三区久久| 狠狠综合久久综合88亚洲| 国产精品久久自在自线观看| 国产精品久久久久久久午夜片| 精品久久久久久无码不卡| 久久国产亚洲高清观看|