日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

2018-2019 C++期末复习资料

發布時間:2024/8/1 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2018-2019 C++期末复习资料 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

//等我考完高數再開始寫 😄
寫錯兩道選擇題?..
如有錯誤,歡迎指正
寫題的時候翻了很多書也查了很多資料,但還是可能會有錯誤或者理解有偏差的地方,望諒解!

一、選擇題

  • 下面對于類的描述,是正確的是( B )// 之前寫錯了… =_=…
    A.類是抽象數據類型的實現
    通常采用類來實現對抽象數據類型的封裝
    B.類是具有共同行為和屬性的若干對象的統一描述體
    C.所有的類都能創建對象
    如果一個類中有純虛函數,那么它就是一個抽象類,不能用建立對象
    D.類就是C語言中的結構類型

  • 下列關于C++函數的說明中,正確的是 ( C )
    A.內聯函數就是定義在另一個函數體內部的函數
    B.函數體的最后一條語句必須是return語句
    C.標準C++要求在調用一個函數之前,必須先聲明其原型
    D.編譯器會根據函數的返回值類型和參數表來區分函數的不同重載形式

  • 下列不是描述類的成員函數的是 ( C )
    A.構造函數 B.析構函數
    C.友元函數 D.拷貝構造函數

  • 構造函數不具備的特征的是 ( D )
    A.構造函數的函數名與類名相同 B.構造函數可以重載
    C.構造函數可以設置默認參數 D.構造函數必須指定類型說明

  • 下面有關重載函數的說法中正確的是( C )
    A.重載函數必須具有不同的返回值類型
    B.重載函數形參個數必須不同
    C.重載函數必須有不同的形參列表
    D.重載函數名可以不同

  • 下面關于C++中類的繼承與派生的說法錯誤的是( C )
    A.基類的protected成員在公有派生類的成員函數中可以直接使用
    B.基類的protected成員在私有派生類的成員函數中可以直接使用
    C.有派生時,基類的所有成員訪問權限在派生類中保持不變
    D.繼承可以分為單一繼承與多重繼承

  • 下面關于運算符重載的描述錯誤的是( C )
    A.運算符重載不能改變操作數的個數、運算符的優先級、運算符的結合性和運算符的語法結構
    B.不是所有的運算符都可以進行重載
    C.運算符函數的調用必須使用關鍵字operator
    D.在C++語言中不可通過運算符重載創造出新的運算符

  • 關于虛函數的描述中,( C )是正確的。
    A.虛函數是一個static類型的成員函數
    B.虛函數是一個非成員函數
    C.基類中說明了虛函數后,派生類中將其對應的函數可不必說明為虛函數
    D.派生類的虛函數與基類的虛函數具有不同的參數個數和類型

  • 假定AB為一個類,則執行AB x;語句時將自動調用該類的 ( B )
    A.有參構造函數 B.無參構造函數
    C.拷貝構造函數 D.賦值構造函數

  • 下面關于編寫異常處理代碼規則中不正確的是 ( B )
    A. 可以有數量不限的catch處理程序出現在try塊之后,在try 塊出現之前不能出現catch塊。
    B. try塊中必須包含throw語句。
    C. 在關鍵字catch之后的圓括號內的數據聲明必須包括其類型聲明。
    D.如果catch中處理程序執行完畢,而無返回或終止指令將跳過后面的catch塊繼續執行

  • 關于類和對象,下列說法不正確的是 ( C )
    A.對象是類的一個實例
    B.任何一個對象必定屬于一個特定的類
    C.一個類只能有一個對象
    D.類與對象的關系類似于數據類型與變量的關系

  • 下列敘述中,不正確的是 ( B )
    A.類的構造函數可以重載
    B.類的析構函數可以重載
    C.一個類可以不定義構造函數
    D.一個類可以不定義析構函數

  • 關于靜態數據成員,下列描述正確的是 ( A )
    A.在對象創建之前就存在了靜態數據成員
    靜態數據成員不隨對象的建立而分配空間,也不隨對象的撤銷而釋放(一般數據成員是在對象建立時分配空間,在對象撤銷時釋放)。靜態數據成員是在程序編譯時被分配空間的,至程序結束時才釋放空間。
    B.靜態數據成員只能被靜態成員函數訪問
    靜態數據成員可以被非靜態成員函數訪問。但靜態成員函數只能訪問靜態數據成員。
    C.不能在構造函數中對靜態數據成員賦值
    D.對靜態數據成員的訪問不受訪問權限的限制
    和其他數據成員一樣,靜態數據成員也遵守public/protected/private訪問規則。注意:僅僅是初始化時不遵守public/protected/private的規則,靜態數據成員只能在類外初始化。

  • 下列對派生類的描述中,( D ) 是錯誤的。
    A.一個派生類可以做另一個派生類的基類
    B.派生類至少有一個基類
    C.派生類的成員除了它自己的成員外,還包括了它的基類的成員
    D.派生類中繼承的基類成員的訪問權限到派生類保持不變
    與繼承方式有關。詳情出門左拐:C++類中的三種繼承方式`

  • 關于虛函數的描述中,( A )是正確的。
    A.基類中說明了虛函數后,派生類中將其對應的函數可不必說明為虛函數
    B.虛函數是一個static類型的成員函數
    virtual類型
    C.虛函數是一個非成員函數
    D.派生類的虛函數與基類的虛函數具有不同的參數個數和類型
    需要具有一樣的參數,否則為重載函數

  • 下列敘述,不正確的是 ( B )
    A.純虛函數是一個特殊的虛函數,它沒有具體的實現。
    B.一個基類中說明有純虛函數,該基類的派生類一定不再是抽象類
    若沒有將該純虛函數實現,則仍為抽象類
    C.抽象類是指具有純虛函數的類
    D.抽象類只能作為基類來使用,其純虛函數的實現由派生類給出

  • 關于函數模板,描述錯誤的是 ( D ) //之前寫錯了
    A.函數模板必須由程序員實例化為可執行的函數模板
    B.函數模板的實例化由編譯器實現。
    C.一個類定義中,只要有一個函數模板,則這個類既可以是類模板,也可以是函數模板
    D.類模板的成員函數都是函數模板,類模板實例化后,成員函數也隨之實例化

  • 在C++中,數據封裝要解決的問題是 ( D )
    A.數據的規范化
    B.便于數據轉換
    C.避免數據丟失
    D.防止不同模塊之間數據的非法訪問

  • 假定MyClass為一個類,則執行MyClass a[3],*p[2];語句時,自動調用該類構造函數 ( B )次。
    A.2 B.3 C.4 D.5
    生成對象a[3]時會調用3次,定義指針*p[2]不會調用構造函數。若寫為MyClass *p=new MyClass,則會調用構造函數

  • 對于下面的類MyClass,在函數f()中將MyClass對象的數據成員n的值修改為50的語句應該是 ( C )

  • class MyClass { public:MyClass(int x) {n = x;}void SetNum(int n) {this->n = n;} private:int n; } int f( ) {MyClass *ptr = new MyClass(45); _________________ }

    A.MyClass(50);       B.SetNum(50);
    C.ptr->SetNum(50) ;     D.ptr->n = 50;

  • 友員運算符_left>_right被C++編譯器解釋為 ( A )
    A.operator >(_left, _right)     B. >(_left, _right)
    C._right.operator >(_left)     D._left.operator >( _right)
    對雙目運算符而言,成員運算符函數帶有一個參數,而友元運算符函數帶有兩個參數

    注:雙目運算符:運算所需變量為兩個的運算符叫做雙目運算符,或者要求運算對象的個數是2的運算符稱為雙目運算符

  • 派生類的構造函數的成員初始化列表中,不能包含 ( C )
    A.基類的構造函數
    B.派生類中子對象的初始化
    C.基類中子對象的初始化
    派生類的構造函數會調用基類的構造函數,并傳遞參數,但并不能直接在派生類的構造函數中初始化基類
    D.派生類中一般數據成員的初始化

    派生類的構造函數除了要負責本類成員的初始化外,還要調用基類和對象成員的構造函數,并向它們傳遞參數,以完成基類子對象和對象成員的建立和初始化
    派生類只能采用構造函數初始化列表的方式向基類或者對象成員的構造函數傳遞參數

    補充:
    類的子對象 或 基類的子對象:指定義在類里面的對象成員
    基類子對象:按照書上的說法應該指的是派生類對象中的基類成員,可以理解為是派生類中包含了基類的一個副本。(這個概念看看就好了,我在網上看了很多,但說法不一)

  • 下面關于C++中類的繼承與派生的說法錯誤的是 ( C )
    A.基類的protected成員在公有派生類的成員函數中可以直接使用
    B.基類的protected成員在私有派生類的成員函數中可以直接使用
    C.私有派生時,基類的所有成員訪問權限在派生類中保持不變
    D.繼承可以分為單一繼承與多重繼承
    出門左拐:C++類中的三種繼承方式

  • 下列關于虛基類的描述中,錯誤的是 ( B )
    A.虛基類子對象的初始化由最終的派生類完成
    B.虛基類子對象的初始化次數與虛基類下面的派生類個數有關
    只初始化一次,在最終派生類中進行初始化
    C.設置虛基類的目的是消除二義性
    D.帶有虛基類的多層派生類構造函數的成員初始化列表中都要列出對虛基類構造函數的調用

    虛基類子對象由最終派生類的構造函數通過調用虛基類的構造函數進行初始化(最終派生類的構造函數的成員初始化列表中必須列出對虛基類構造函數的調用,否則,表示使用該虛基類的缺省構造函數)。
    由于最終派生類總是相對的,因此,從虛基類直接或間接派生的派生類中的構造函數的成員初始化列表中都要列出對虛基類構造函數的調用。但只有用于建立對象的最終派生類的構造函數才調用虛基類的構造函數,此時最終派生類的所有基類中列出的對虛基類的構造函數的調用在執行過程中都會被忽略,從而保證虛基類子對象只初始化一次。

  • 關于虛函數的描述中正確的是 ( D )
    A.虛函數是一個static類型的成員函數
    B.虛函數是一個非成員函數
    C.虛函數既可以在函數說明時定義,也可以在函數實現時定義
    D.派生類的虛函數與基類的虛函數具有相同的參數個數和類型

  • 關于純虛函數和抽象類的描述中錯誤的是 ( C )
    A.純虛函數是一種特殊的虛函數,它沒有具體的實現
    B.抽象類是指具有純虛函數的類
    C.一個基類中說明有純虛函數,該基類的派生類一定不再是抽象類
    有可能派生類只是簡單地繼承了抽象類地純虛函數,并沒有覆蓋它,所以派生類也是一個抽象類
    D.抽象類只能作為基類來使用,其純虛函數的實現由派生類給出

  • 下列對模板的聲明,正確的是 ( C )
    A. template
    B. template<typename T1,T2>
    C. template<typename T1,class T2>
    D. template<typename T1;typename T2>

  • 已定義了一個類A并有語句A* pa=new A(5); 那么以下說法正確的是( A )
    A. 該語句會創建A類的一個對象,并將此對象的地址賦給指針pa;
    B. 該語句會創建A類的5個對象,且它們的地址是連續的;
    C. 當指針變量pa超出其作用域時,pa和為對象分配的空間都將被自動釋放;
    D. 類A中一定有一個顯式定義的構造函數和一個顯式定義的虛析構函數;

  • 定義類A的非靜態成員函數A& f(A& one)時,需有語句return exp;則exp不能是( B )
    A.類A中類型為A的靜態數據成員
    B.f中用語句A a = one; 定義的量a
    C.one
    D.*this
    與變量的生存期相關,B中的a在出了函數f()后立即死亡,所以返回的引用是空的,而A C D中返回的東西,在出了函數f()之后仍然生存

  • 在一個類中,下列哪些成員可以是多個? ( D )
    A. 無參構造函數
    B. 析構函數
    C. 原型相同的非靜態成員函數
    D. 靜態成員函數

  • 對類T中的下列成員,若不考慮代碼優化,一般來說它們中的哪個執行起來最慢? ( C )
    A. 缺省的無參構造函數
    即為默認構造函數
    B. 缺省的拷貝構造函數
    C. T f( ) { T t; return t; }
    D. 不能判定A、B、C哪個最慢

  • 對函數原型為int& min(int& a, int& b);的全局函數,下列語句塊哪個是錯誤的: ( C )
    A. int x=10,y=5; min(x,y)=100;
    B. int x=10,y=5, z; z=min(x,y+=x);
    C. int x=10,y=5; min(x,10)=y;
    傳參過程中會發生錯誤,int& b=10(錯誤) 引用的右邊必須是一個變量
    D. int x=10,y=5; x=min(x,y);

  • 關于拷貝構造函數錯誤的說法有:( B )
    A. 拷貝構造函數是一種特殊的構造函數,且不能在類中進行函數重載。
    B. 若自定義派生類的拷貝構造函數,那么也必須自定義基類的拷貝構造函數。
    C. 通常拷貝構造函數只能有一個參數,且為常量引用或非常量引用。
    D. 拷貝構造函數不允許在函數體中使用return語句。

  • 下列對虛基類聲明正確的是:( B )
    A. class virtual B: public A
    B. class B: virtual public A
    C. class B: public A virtual
    D. virtual class B: public A

  • 若有語句A*const p=new B;,其中類B是從類A直接派生得到的,那么下列說法錯誤的是: ( D )
    A. 若要執行語句p->f( ),那么類A中一定有一個與f( )函數匹配的函數聲明。
    B. 類B一定是通過public繼承方式從類A派生的。
    C. 類B的構造函數中,至少有一個無參的或提供全部缺省參數的構造函數。
    D. 通過指針p,只能訪問類中的常量成員函數或靜態成員函數。

  • 下面說明的哪個數據不能作為類T的數據成員定義:( D )
    A. T* pT
    B. class Q{ } q1,q2;
    C. static T t;
    D. const T t;

  • 下列哪種運算符可以被重載: ( D )
    A. sizeof
    B. ::
    C. ? :
    D. [ ]

  • 二、程序改錯題,指出程序中的錯誤語句并分析錯誤原因

  • 指出下面程序段中的錯誤,并說明出錯原因
  • class X{ private:int a=0; //A行int &b; //B行const int c; //C行void setA(int i){a=i;} //D行 X(int i){a=i;} //E行 構造函數應定義為public,定義為private將會導致建立對象的時候無法調用 public:int X():b(a),c(a){a =0;} //F行 構造函數沒有返回值X(int i,int j,int k):b(j),c(k){a=i; } //G行 static void setB(int k){b=k;} //H行 靜態成員函數不可以訪問非靜態成員setC(int k)const {c=c+k;} //I行 函數末尾const聲明,表明不能更改類的數據成員,且c為常量不可更改 }; void main() {X x1; //J行X x2(3); //K行 匹配的構造函數為private,無法被調用,因而無法為x2初始化X x3(1,2,3); //L行 x1.setA(3); //M行 該函數被聲明為private,不可在類外被調用 }

    構造函數初始化列表的執行時間:

    #mermaid-svg-KpMbYTnBXB4QCfWV .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .label text{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .node rect,#mermaid-svg-KpMbYTnBXB4QCfWV .node circle,#mermaid-svg-KpMbYTnBXB4QCfWV .node ellipse,#mermaid-svg-KpMbYTnBXB4QCfWV .node polygon,#mermaid-svg-KpMbYTnBXB4QCfWV .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-KpMbYTnBXB4QCfWV .node .label{text-align:center;fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .node.clickable{cursor:pointer}#mermaid-svg-KpMbYTnBXB4QCfWV .arrowheadPath{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-KpMbYTnBXB4QCfWV .flowchart-link{stroke:#333;fill:none}#mermaid-svg-KpMbYTnBXB4QCfWV .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-KpMbYTnBXB4QCfWV .edgeLabel rect{opacity:0.9}#mermaid-svg-KpMbYTnBXB4QCfWV .edgeLabel span{color:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-KpMbYTnBXB4QCfWV .cluster text{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-KpMbYTnBXB4QCfWV .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-KpMbYTnBXB4QCfWV text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-KpMbYTnBXB4QCfWV .actor-line{stroke:grey}#mermaid-svg-KpMbYTnBXB4QCfWV .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-KpMbYTnBXB4QCfWV #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .sequenceNumber{fill:#fff}#mermaid-svg-KpMbYTnBXB4QCfWV #sequencenumber{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV #crosshead path{fill:#333;stroke:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .messageText{fill:#333;stroke:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-KpMbYTnBXB4QCfWV .labelText,#mermaid-svg-KpMbYTnBXB4QCfWV .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-KpMbYTnBXB4QCfWV .loopText,#mermaid-svg-KpMbYTnBXB4QCfWV .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-KpMbYTnBXB4QCfWV .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-KpMbYTnBXB4QCfWV .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-KpMbYTnBXB4QCfWV .noteText,#mermaid-svg-KpMbYTnBXB4QCfWV .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-KpMbYTnBXB4QCfWV .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-KpMbYTnBXB4QCfWV .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-KpMbYTnBXB4QCfWV .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-KpMbYTnBXB4QCfWV .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .section{stroke:none;opacity:0.2}#mermaid-svg-KpMbYTnBXB4QCfWV .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-KpMbYTnBXB4QCfWV .section2{fill:#fff400}#mermaid-svg-KpMbYTnBXB4QCfWV .section1,#mermaid-svg-KpMbYTnBXB4QCfWV .section3{fill:#fff;opacity:0.2}#mermaid-svg-KpMbYTnBXB4QCfWV .sectionTitle0{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .sectionTitle1{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .sectionTitle2{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .sectionTitle3{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-KpMbYTnBXB4QCfWV .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .grid path{stroke-width:0}#mermaid-svg-KpMbYTnBXB4QCfWV .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-KpMbYTnBXB4QCfWV .task{stroke-width:2}#mermaid-svg-KpMbYTnBXB4QCfWV .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .taskText:not([font-size]){font-size:11px}#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-KpMbYTnBXB4QCfWV .task.clickable{cursor:pointer}#mermaid-svg-KpMbYTnBXB4QCfWV .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-KpMbYTnBXB4QCfWV .taskText0,#mermaid-svg-KpMbYTnBXB4QCfWV .taskText1,#mermaid-svg-KpMbYTnBXB4QCfWV .taskText2,#mermaid-svg-KpMbYTnBXB4QCfWV .taskText3{fill:#fff}#mermaid-svg-KpMbYTnBXB4QCfWV .task0,#mermaid-svg-KpMbYTnBXB4QCfWV .task1,#mermaid-svg-KpMbYTnBXB4QCfWV .task2,#mermaid-svg-KpMbYTnBXB4QCfWV .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutside0,#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutside2{fill:#000}#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutside1,#mermaid-svg-KpMbYTnBXB4QCfWV .taskTextOutside3{fill:#000}#mermaid-svg-KpMbYTnBXB4QCfWV .active0,#mermaid-svg-KpMbYTnBXB4QCfWV .active1,#mermaid-svg-KpMbYTnBXB4QCfWV .active2,#mermaid-svg-KpMbYTnBXB4QCfWV .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-KpMbYTnBXB4QCfWV .activeText0,#mermaid-svg-KpMbYTnBXB4QCfWV .activeText1,#mermaid-svg-KpMbYTnBXB4QCfWV .activeText2,#mermaid-svg-KpMbYTnBXB4QCfWV .activeText3{fill:#000 !important}#mermaid-svg-KpMbYTnBXB4QCfWV .done0,#mermaid-svg-KpMbYTnBXB4QCfWV .done1,#mermaid-svg-KpMbYTnBXB4QCfWV .done2,#mermaid-svg-KpMbYTnBXB4QCfWV .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-KpMbYTnBXB4QCfWV .doneText0,#mermaid-svg-KpMbYTnBXB4QCfWV .doneText1,#mermaid-svg-KpMbYTnBXB4QCfWV .doneText2,#mermaid-svg-KpMbYTnBXB4QCfWV .doneText3{fill:#000 !important}#mermaid-svg-KpMbYTnBXB4QCfWV .crit0,#mermaid-svg-KpMbYTnBXB4QCfWV .crit1,#mermaid-svg-KpMbYTnBXB4QCfWV .crit2,#mermaid-svg-KpMbYTnBXB4QCfWV .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-KpMbYTnBXB4QCfWV .activeCrit0,#mermaid-svg-KpMbYTnBXB4QCfWV .activeCrit1,#mermaid-svg-KpMbYTnBXB4QCfWV .activeCrit2,#mermaid-svg-KpMbYTnBXB4QCfWV .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-KpMbYTnBXB4QCfWV .doneCrit0,#mermaid-svg-KpMbYTnBXB4QCfWV .doneCrit1,#mermaid-svg-KpMbYTnBXB4QCfWV .doneCrit2,#mermaid-svg-KpMbYTnBXB4QCfWV .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-KpMbYTnBXB4QCfWV .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-KpMbYTnBXB4QCfWV .milestoneText{font-style:italic}#mermaid-svg-KpMbYTnBXB4QCfWV .doneCritText0,#mermaid-svg-KpMbYTnBXB4QCfWV .doneCritText1,#mermaid-svg-KpMbYTnBXB4QCfWV .doneCritText2,#mermaid-svg-KpMbYTnBXB4QCfWV .doneCritText3{fill:#000 !important}#mermaid-svg-KpMbYTnBXB4QCfWV .activeCritText0,#mermaid-svg-KpMbYTnBXB4QCfWV .activeCritText1,#mermaid-svg-KpMbYTnBXB4QCfWV .activeCritText2,#mermaid-svg-KpMbYTnBXB4QCfWV .activeCritText3{fill:#000 !important}#mermaid-svg-KpMbYTnBXB4QCfWV .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-KpMbYTnBXB4QCfWV g.classGroup text .title{font-weight:bolder}#mermaid-svg-KpMbYTnBXB4QCfWV g.clickable{cursor:pointer}#mermaid-svg-KpMbYTnBXB4QCfWV g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-KpMbYTnBXB4QCfWV g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-KpMbYTnBXB4QCfWV .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-KpMbYTnBXB4QCfWV .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-KpMbYTnBXB4QCfWV .dashed-line{stroke-dasharray:3}#mermaid-svg-KpMbYTnBXB4QCfWV #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV .commit-id,#mermaid-svg-KpMbYTnBXB4QCfWV .commit-msg,#mermaid-svg-KpMbYTnBXB4QCfWV .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-KpMbYTnBXB4QCfWV g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-KpMbYTnBXB4QCfWV g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-KpMbYTnBXB4QCfWV g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-KpMbYTnBXB4QCfWV .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-KpMbYTnBXB4QCfWV .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-KpMbYTnBXB4QCfWV .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-KpMbYTnBXB4QCfWV .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-KpMbYTnBXB4QCfWV .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-KpMbYTnBXB4QCfWV .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-KpMbYTnBXB4QCfWV .edgeLabel text{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-KpMbYTnBXB4QCfWV .node circle.state-start{fill:black;stroke:black}#mermaid-svg-KpMbYTnBXB4QCfWV .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-KpMbYTnBXB4QCfWV #statediagram-barbEnd{fill:#9370db}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-state .divider{stroke:#9370db}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-KpMbYTnBXB4QCfWV .note-edge{stroke-dasharray:5}#mermaid-svg-KpMbYTnBXB4QCfWV .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-KpMbYTnBXB4QCfWV .error-icon{fill:#522}#mermaid-svg-KpMbYTnBXB4QCfWV .error-text{fill:#522;stroke:#522}#mermaid-svg-KpMbYTnBXB4QCfWV .edge-thickness-normal{stroke-width:2px}#mermaid-svg-KpMbYTnBXB4QCfWV .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-KpMbYTnBXB4QCfWV .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-KpMbYTnBXB4QCfWV .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-KpMbYTnBXB4QCfWV .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-KpMbYTnBXB4QCfWV .marker{fill:#333}#mermaid-svg-KpMbYTnBXB4QCfWV .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-KpMbYTnBXB4QCfWV {color: rgba(0, 0, 0, 0.75);font: ;}類內初始值構造函數初始化列表構造函數體

    下列類成員必須采用類內初始值或構造函數初始化列表進行初始化:

  • 常量成員
  • 引用成員
  • 類對象成員
  • 派生類構造函數對基類構造函數的調用
  • 補充:
    靜態成員、常量成員都不能在類內初始化。但靜態整型常量成員可以在類內初始化如:static const int
    靜態成員函數的說明和定義與靜態數據成員一樣,函數可以實現在類體內,也可以實現在類體外
    另:為什么static成員變量一定要在類外初始化?

  • 指出下面程序段中的錯誤,并說明出錯原因
  • #include<iostream> using namespace std; class Base1 {int b1; //A行 public: Base1(int b1=0) {this->b1=b1;} //B行void f(){ cout<<"From Base1"<<endl;} //C行 }; class Base2 {int b2; //D行 public: Base2(int b2){this->b2=b2;} //E行void f() { cout<<"From Base2"<<endl;} //F行 }; class Derived: public Base1, public Base2 { //G行int d; public:Derived(int d){this->d=d;} //H行 Base2的構造函數是含參的,所以需要傳參進去來完成Base2void g(){ cout<<"From Derived"<<b1<<b2<<endl; } //I行 在派生類Derived中無法訪問b1 b2 }; void main(){ Derived dObj(10); //J行dObj.f(); //K行 會報錯,因為在兩個基類中都存在f(),會產生二義性dObj.Base1::f(); //L行 }

    補充:當出現二義性的命名沖突的時候可以指明調用成員函數所屬類來解決

  • 指出下面程序段中的錯誤,并說明出錯原因(6分)
  • #include<iostream.h> class A { int a; public:A(int x){ a=x; } //A行 }; class B:public A //B行 { int a; public:B(int x){ a=x; } //C行 需要在B的構造函數中調用A的含參構造函數并傳參進去void show(){cout<<a<<'\t'<<A::a<<endl; } //D行 沒有寫明命名空間 }; void main() { B b1; //E行 只含有含參的構造函數,需要在初始化的時候傳參進去b1.show(); //F行 }

    三、閱讀程序,寫出程序的運行結果

  • #include<iostream> using namespace std; class Implementation{ public:Implementation(int y){value=y;}void setValue(int v){value=v;}int getValue() const {return value;} private:int value; }; class Interface{ public:Interface(int);void setValue(int);int getValue() const; private:Implementation *ptr; }; Interface::Interface(int v):ptr(new Implementation(v)){} void Interface::setValue(int v){ptr->setValue(v);} int Interface::getValue() const {return ptr->getValue();} void main() {Interface i(5);cout<<i.getValue()<<endl;i.setValue(10);cout<<i.getValue()<<endl; } 運行結果: 5 10
  • #include<iostream> using namespace std; class B1 { public:B1(int a){cout<<"constructing B1 "<<a<<endl;} };class B2:public B1{ public:B2(int b,int a):B1(a){cout<<"constructing B2 "<<b<<endl;} };class B3:public B2 { public:B3(int a,int b,int c,int d,int e):B2(a,b),memberB2(c,d),memberB1(e){cout<<"constructing B3"<<endl;} private:B1 memberB1;B2 memberB2; };void main() {B3 b3(1,2,3,4,5); } 運行結果: constructing B1 2 constructing B2 1 constructing B1 5 constructing B1 4 constructing B2 3 constructing B3

    附:
    一個派生類構造函數的執行順序:
    第一步執行:虛擬基類的構造函數(多個虛擬基類則按照繼承的順序執行構造函數)。
    第二步執行:基類的構造函數(多個普通基類也按照繼承的順序執行構造函數)。
    第三步執行:類類型的成員對象的構造函數(按照初始化順序)。
    第四部執行:派生類自己的構造函數。

  • #include<iostream.h> class Character {char i; public:Character (char a=0){i =a; }Character operator ++(); Character operator ++(int);void print(){cout<<i<<endl;} }; Character Character::operator ++() {i++;return*this; } Character Character::operator ++(int) {Character j;j.i=i++;return j; } void main() {Character x(65), y(98), z;z = ++x;x.print();z.print();z = y++;y.print();z.print(); } 運行結果: B //66 B //66 c //99 b //98

    ++i:先增再用
    i++:先用再增

  • #include <iostream> using namespace std; enum errs{error0,error1}; double Divide(double test1, double test2) { try{if(test2==0) throw error0;if(test2>=1000) throw error1;}catch(errs er){switch(er){ case error0:cout<<"除數不能為0!"<<endl;break;case error1:cout<<"除數太大!"<<endl;break;} } return test1/test2; } void main() {cout<<Divide(2,0)<<endl;cout<<Divide(1,1000)<<endl; } 運行結果: 除數不能為0! inf 除數太大! 0.001

    inf 表示無窮大,因為得到的數值,超出浮點數的表示范圍

  • #include<iostream.h> class Sample { int n; static int sum; public:Sample(int x){n=x; }void add(){sum+=n;}void disp(){cout << "n=" << n << ",sum=" << sum << endl; } }; int Sample::sum=0;//靜態數據成員賦初值 void main() { Sample a(2),b(3),c(5); a.add(); a.disp(); b.add(); b.disp(); c.add(); c.disp(); } 運行結果: n=2,sum=2 n=3,sum=5 n=5,sum=10
  • #include <iostream> using namespace std; class B { public: B(){ cout<<"Constructing B"<<endl;} };class B1:virtual public B { public: B1(int i){ cout<<"Constructing B1"<<endl; } }; class B2:virtual public B { public: B2(int j){ cout<<"Constructing B2"<<endl; } };class D: public B1, public B2 { public:D(int m,int n): B1(m),B2(n){ cout<<"Constructing D"<<endl; } }; void main(){D d(1,2); } 運行結果: Constructing B Constructing B1 Constructing B2 Constructing D

    這個題考查的是虛基類
    虛基類子對象由最終派生類的構造函數通過調用虛基類的構造函數進行初始化(最終派生類的構造函數的成員初始化列表中必須列出對虛基類構造函數的調用,否則,表示使用該虛基類的缺省構造函數)。

    由于最終派生類總是相對的,因此,從虛基類直接或間接派生的派生類中的構造函數的成員初始化列表中都要列出對虛基類構造函數的調用。

    但只有用于建立對象的最終派生類的構造函數才調用虛基類的構造函數,此時最終派生類的所有基類中列出的對虛基類的構造函數的調用在執行過程中都會被忽略,從而保證虛基類子對象只初始化一次。

  • #include <iostream.h> class MEMBER { public:virtual void answer(){cout << "I am a member.\n";} }; class TEACHER: public MEMBER { public:void answer(){cout << "I am a teacher.\n";} }; class STUDENT: public MEMBER { public:void answer(){cout << "I am a student.\n";} }; void main() {MEMBER member; TEACHER teacher; STUDENT student; MEMBER* who; who = &member;who->answer();who = &teacher;who->answer();who = &student;who->answer(); } 運行結果: I am a member. I am a teacher. I am a student.
  • #include<iostream> using namespace std; class A{ protected:int a; public:A(int x){a=x;}virtual void show(){ cout<<a++<<"\n"; }void print() { cout<<++a<<"\n"; } }; class B:public A{ public:B(int x):A(x){}void show(){ cout<<a--<<"\n"; }void print() { cout<<--a<<"\n"; } }; void main() { A a(5),*p;B b(10);p=&a; p->show(); p->print();p=&b; p->show(); p->print(); } 運行結果: 5 7 10 10
  • #include <iostream> using namespace std; class MyClass{ public:MyClass();void print();~MyClass(); private:int i;static int j; }; int MyClass::j = 0; MyClass::MyClass() {cout<<"This is a constructor"<<endl;j += 10; } void MyClass::print(){cout<<"The value of j is"<<j<<endl; } MyClass::~MyClass(){cout<<"This is a destructor!"<<endl; } void main(){MyClass first,second;first.print();second.print(); } 運行結果: This is a constructor This is a constructor The value of j is20 The value of j is20 This is a destructor! This is a destructor!
  • #include<string> #include<iostream> using namespace std; class Dog{string name;int age; public:Dog(string name,int age):name(name),age(age){cout<<"invoking Dog constructor"<<endl;}Dog(const Dog& dog):name(dog.name),age(dog.age){cout<<"invoking Dog copy constructor"<<endl;} }; class Person{string name;Dog dog; public:Person(string name,Dog dog):name(name),dog(dog){cout<<"invoking Person constructor"<<endl;} }; int main() {Dog dog("Fido",4);Person p1("zaphod",dog);Person p2 = p1;return 0; } 運行結果: invoking Dog constructor invoking Dog copy constructor invoking Dog copy constructor invoking Person constructor invoking Dog copy constructor

    要注意拷貝構造函數的調用!!

  • #include <iostream> using namespace std; class A {int a; public: A(int i){ cout<<"Constructing A "<<i<<endl; } }; class B { public: B(){ cout<<"Constructing B "<<endl;} };class B1: public B ,virtual public A{ public: B1(int i):A(i){ cout<<"Constructing B1 "<<i<<endl; } }; class B2:virtual public A,public B { public: B2(int j):A(j){ cout<<"Constructing B2 "<<j<<endl; } };class D: public B1, public B2 { public:D(int m,int n): B1(m),B2(n),a(3),A(4){ cout<<"Constructing D"<<endl; }A a; }; void main(){D d(1,2); } 運行結果: Constructing A 4 Constructing B Constructing B1 1 Constructing B Constructing B2 2 Constructing A 3 Constructing D
  • #include <iostream> using namespace std; class Base{ protected:int n; public:Base(int m){n=m++;}virtual void g1(){cout<<"Base::g1()..."<<n<<endl;g4();}virtual void g2(){cout<<"Base::g2()..."<<++n<<endl;g3();}virtual void g3(){cout<<"Base::g3()..."<<++n<<endl;g4();}virtual void g4(){cout<<"Base::g4()..."<<++n<<endl;} }; class Derive: public Base{int j; public:Derive (int n1,int n2):Base(n1){j=n2;}void g1(){cout<<"Deri::g1()..."<<++n<<endl;g2();}void g3(){cout<<"Deri::g2()..."<<++n<<endl;g4();} }; void main(){Derive Dobj(1,0);Base Bobj=Dobj;Bobj.g1();Base &bobj2=Dobj;bobj2.g1(); } 運行結果: Base::g1()...1 Base::g4()...2 Deri::g1()...2 Base::g2()...3 Deri::g2()...4 Base::g4()...5
  • #include <iostream.h> class A {public:A(int anInt = 0 ):i(anInt){cout << "A::A( )" << endl;}A(const A& anA){cout << “A::A(const A&)<< endl;i = anA.i;}int getI( ) const{return i;}~A( ){cout << "A::~A( )" << endl;}private:int i; }; class B {public:B( ){cout << "B::B( )" << endl;}B(const A& anA): a(anA){cout << "B::B(constA&) " << endl;}virtual void f( ){cout << "B::f( )" << endl;cout << a.getI( ) << endl;}virtual ~B( ){cout <<"B::~B( )"<<endl;}private:A a; }; class D : public B {public:D( ){cout << "D::D( )" << endl;}D(const A& anA): a(anA){cout << "D::D(constA&)" << endl;}void f( ){B::f( );cout << "D::f( )" << endl;cout << a.getI( ) << endl;}~D( ){cout << "D::~D( )" << endl;}private:A a; }; void main( ) {A a(10);B* pB = new D(a);pB->f( );delete pB; } 運行結果: A::A( ) A::A( ) B::B( ) A::A(const A&) D::D(constA&) B::f( ) 0 D::f( ) 10 D::~D( ) A::~A( ) B::~B( ) A::~A( ) A::~A( )

    對于析構函數:
    最先構造的最晚被釋放


    派生類構造函數的執行順序:
    第一步執行:虛擬基類的構造函數(多個虛擬基類則按照繼承的順序執行構造函數)。
    第二步執行:基類的構造函數(多個普通基類也按照繼承的順序執行構造函數)。
    第三步執行:類類型的成員對象的構造函數(按照初始化順序)。
    第四部執行:派生類自己的構造函數。

    四、程序填空題

  • 在橫線處填上適當的字句,完成下面復數類的定義(4分)。
  • #include<iostream.h> class Complex {private:double real,image;public:Complex(double r=0,double i=0) {real=r;image=i;}friend Complex operator+(Complex &a,const Complex &b); //復數加法運算符Complex operator=(Complex c); //復數賦值運算符 }; Complex operator+(Complex &a,const Complex &b) {Complex*t=new Complex(___a.real+b.real,a.image+b.image____);return *t; } Complex Complex::operator=(Complex c) {real=c.real;image=c.image;return__*this__; }
  • 下列程序用虛函數print和運行的多態性,把從鍵盤輸入的一個int型數值n,按八進制和十六進制輸出,完善程序(8分)。(這個題寫出來的輸出結果感覺怪怪的,因為第一次輸出后輸出的進制變為八進制,影響到了后面第一個數的輸出,不知道還沒有更好的填法)
  • #include<iostream.h> class OCT{ protected: int n; public:OCT(int x){ n=x; }____virtual void print()___{ cout<<n<<"的八進制為:"<<oct<<n<<endl; } }; class HEX:public OCT{ public:HEX(int x):____OCT(x){}____void print(){ cout<<n<<"的十六進制為:"<<hex<<n<<endl; } }; void main() { int n;cout<<"請輸入一個十進制:";cin>>n;OCT oc(n);HEX he(n);____OCT *p____;p=&oc;p->print();____p=&he____;p->print(); }
  • 在橫線處填上適當的語句,完成下列程序(這個題感覺奇奇怪怪的,沒寫了,望大佬賜教?)
  • #include<iostream> #include<cmath> using namespace std; class Point{ public:Point(double a,double b,double c){______________ }double getX(){return x;}double getY(){return y;}double getZ(){return z;} private:_____________ protected:_____________ }; class Line:Point{ public:Line(double a,double b,double c,double d) _____________ {__________________________ }void show(){cout<<getX()<<endl;cout<<getY()<<” ”<<y<<endl;cout<<getZ()<<” ”<<z<<endl;cout<<k<<endl;} private:double k; }; int main() {Line obj(1.2,3.4,5.6,7.8);obj.show();return 0; }
  • 本程序自定義了一個復數類Complex類和一個求最小值的函數模板min,在橫線處填上適當的語句,使得該程序的運行結果為:
  • hello 1+2i #include<iostream> #include<string> #include<complex> using namespace std; class Complex{ private:int real;int image; public:Complex(int,int);bool operator<(Complex c);___int get(int a){if(a)return real;else return image;}___ ; }; Complex::Complex(int real = 0,int image = 0){this->real = real;this->image = image; } bool Complex::operator <(Complex c){if(______real<c.real||(real==c.real&&image<c.image)______)return true;else return false; }______ostream &______operator<<(______ostream &os,Complex c______ ){______os<<c.get(1)<<"+"<<c.get(0)<<"i"______ ;return os; } _____template<typename T>_______ T _min(T _left, T _right) {return _left < _right ? _left : _right; } int main() {string str1 = "hello";string str2 = "hollow";cout<<_min(str1,str2)<<endl;Complex c1(1,2),c2(3,4);cout<<_min(c1,c2);return 0; }
  • 在橫線處填上適當的語句,利用異常處理機制合理得處理由主函數的兩條調用語句導致的異常,使得:(這個題不知道是我理解有偏差還是什么,就感覺很奇怪,還想直接輸出來著)
  • 當調用語句為cout<<Divide(2,0)<<endl;時,輸出結果為:除數不能為0!
    當調用語句為cout<<Divide(1,1000)<<endl;時,輸出結果為:除數太大!
    當調用語句為cout<<Divide(1,2)<<endl;時,輸出結果為:0.5

    #include <iostream> using namespace std; enum errs{error0,error1}; double Divide(double dividend, double divided) { if(divided == 0)______throw error0________;else if(divided >= 1000) _______throw error1_______;else _______dividend/divided_______; } void main() {try{cout<<Divide(2,0)<<endl;cout<<Divide(1,1000)<<endl;cout<<Divide(1,2)<<endl;}catch(_______errs er_______){switch(er){ case error0:cout<<"除數不能為0!"<<endl;break;case error1:cout<<"除數太大!"<<endl;break;} } }

    五、程序設計題

  • (10分)定義一個大學生類student,函數私有數據成員:姓名、學號、校名,并為它定義帶參數的構造函數、參數帶缺省值的構造函數和輸出數據成員值的print()公有成員函數,另定義研究生類,它以公有繼承方式派生于類student,新增加“研究方向、導師名”兩個私有數據成員,并定義帶參數的構造函數和輸出研究生數據的print()公有成員函數。在main()函數中定義基類和派生類對象,對類進行測試。

    主函數的測試程序如下:

  • void main() {Student stu1("Li","1600141","XingJiang University");stu1.print();GraStudent gstu("Wang","1600240","XJUniversity","Computer","Zhang");gstu.print(); }

    程序運行輸出結果如下:

    name=Li StuNum=1600141 universty_name=XJUname=Wang StuNum=1600240 universty_name=XJU special is Compute director is Zhang
  • 定義一個圓類,數據成員有顏色、圓心坐標、半徑;成員函數有構造函數(有四個參數),設置圓的各種參數,顯示圓的各種參數,計算圓的面積和周長,并編寫一個主函數對所定義的圓類進行測試。(12分)

  • 定義一個點類(Point)、矩形類(Rectangle)和立方體類(Cube)的層次結構。Point為基類,成員有點的x坐標和y坐標;Rectangle包括長度和寬度兩個新數據成員,Rectangle的位置從Point類繼承。Cube類的數據成員包括長度、寬度和高度,長度和寬度從Rectangle類繼承。要求各類提供支持初始化的構造函數和顯示自己成員的成員函數。編寫主函數,測試這個層次結構,輸出立方體類的相關信息。(12分)

  • (共20分,每問題10分) 某程序員為了靈活地對各種的給定的曲線函數f(x)畫出其曲線圖形,設計并部分實現了一個曲線類curve,該類的成員數據中,count代表坐標點的個數,pxs代表的數組存放這些坐標點的橫坐標,pys代表的數組存放利用f(x)計算得到的這些坐標點的縱坐標。由于不同曲線的計算公式f(x)是不同的,該程序員希望曲線函數的種類可以通過繼承curve類的方式任意增加,增加一個新的f(x)時不改變curve類中的內容,也不改變利用curve類進行圖形繪制的算法。已部分完成的curve類定義和實現如下:

  • class curve { public:void setPxs( ) {/*把獲取的橫坐標數據存放在pxs代表的數組中,并為count置值*/ }double* getPxs( ) const { return pxs;}int getCount( ) const { return count;}double* getPys( ) const ; private:double* pxs;double* pys;int count };

    請按照該程序員的設計意圖給出成員函數getPys的完整實現。實現過程中,可以為curve類增加其它成員。可以假設setPxs函數已經完整實現,不需要考慮曲線的繪制和顯示。

  • (共10分)定義一個抽象類Stereo,包含純虛函數Volume(用來計算體積)。然后派生出立方體Cube類、圓球體Sphere類、圓柱體Cylinder類,分別求其體積。各立體形狀的相關數據通過各類的構造函數設置。total( )則是一個通用的用以求不同立體形狀的體積總和的全局函數。(圓球體的體積公式為 V=4/3PIRRR)。

    1)請根據下面主函數代碼,給出各個類的定義和實現。
    2)請根據下面主函數代碼,給出total( )函數的定義和實現。

  • void main( ) {Stereo* s[3];s[0]=new Cube(5.0,5.0,8.0); //實參為立方體的長、寬、高s[1]=new Sphere(6.0); //實參為圓球體的半徑s[2]=new Cylinder(5.0,8.0); //實參為圓柱體的底面半徑、高float sum=total(s,3);cout<<sum<<endl;for(int i=0;i<3;i++) delete s[i];}

    總結

    以上是生活随笔為你收集整理的2018-2019 C++期末复习资料的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    www.玖玖玖 | 免费av网站在线 | 亚洲一区二区高潮无套美女 | 91污污视频在线观看 | 久久a国产 | 国产视频综合在线 | 九九久久视频 | www99精品 | 免费色视频网站 | 九九99 | 日韩在线高清免费视频 | av中文在线 | 香蕉视频色 | 激情av资源 | 91在线视频在线观看 | 激情喷水 | 亚洲精品在线看 | 在线激情影院一区 | 黄色三级久久 | 国产免费国产 | 婷婷午夜| 国产精品久久久久久久久久尿 | 中文字幕一区二区三区精华液 | av免费观看在线 | 精品福利国产 | 天天综合久久综合 | 黄色在线观看污 | 成年人在线免费视频观看 | 日本h视频在线观看 | 亚洲狠狠婷婷综合久久久 | 日韩在线免费视频 | 色wwwww| 国产九九在线 | 天天色天| 91视频在线 | 看av免费网站 | 伊人久久国产 | av网站播放| 韩国av在线 | 久久er99热精品一区二区 | 日韩深夜在线观看 | 五月婷婷伊人网 | 91精品国产电影 | 中国一级片在线 | 91久久影院 | 中文在线a天堂 | 欧美亚洲精品在线观看 | 亚洲国产精品传媒在线观看 | 亚洲 欧美 91 | 成片免费观看视频 | 激情欧美一区二区免费视频 | 中文字幕欧美日韩va免费视频 | 国产精品成人一区二区三区 | 国产综合小视频 | www.天天色.com | 久久夜色精品国产亚洲aⅴ 91chinesexxx | 丁香六月欧美 | 五月婷婷在线观看 | 久久经典国产 | 97免费视频在线播放 | 日韩激情精品 | 国产一区在线视频播放 | 911香蕉视频 | 国产一区二区在线免费视频 | 日韩在线免费视频观看 | 毛片网站在线 | 午夜精品视频在线 | 亚洲午夜久久久久久久久 | 国产亚洲在 | 人人草在线观看 | 在线观看免费 | 国产久视频 | 天天操天天操天天干 | 亚洲精品在线观看中文字幕 | 国产片网站 | 免费观看午夜视频 | 久久国产一区二区 | 久草免费福利在线观看 | 久操视频在线观看 | 亚洲欧洲av在线 | 日韩在线免费 | 91精品综合在线观看 | 久久久久久久久久久久亚洲 | 欧美国产日韩激情 | 久久伊人精品一区二区三区 | 国产xvideos免费视频播放 | 久久久久久久久久久久影院 | 婷婷丁香五 | 天天操天天是 | 亚洲成人精品在线 | 婷婷六月综合亚洲 | 一区在线播放 | 夜夜爱av | 成人免费观看视频网站 | 亚洲成av人影片在线观看 | 日韩av在线网站 | 久久草在线免费 | 亚洲在线高清 | 99视频 | 日日爽夜夜操 | 国产一区久久久 | 亚洲日本在线一区 | av在线免费观看不卡 | 2019精品手机国产品在线 | av中文字幕在线观看网站 | 欧美精选一区二区三区 | 亚洲一区黄色 | 国产精品久久电影观看 | 91丨九色丨蝌蚪丨对白 | 欧洲一区精品 | 免费看麻豆| 国产手机视频 | 婷婷久久网站 | 国产专区视频在线观看 | 国产一区免费 | 涩涩爱夜夜爱 | 精品国内自产拍在线观看视频 | 日韩狠狠操 | 韩日三级av | 97视频中文字幕 | 国产伦精品一区二区三区免费 | 91在线观看欧美日韩 | 国产精品精品国产色婷婷 | 五月婷婷六月丁香 | 日韩欧美中文 | av资源网在线播放 | 日韩精品一区二区三区免费视频观看 | 久久免费视频这里只有精品 | 欧美一区二区在线免费看 | 欧美影院久久 | 国产乱对白刺激视频不卡 | 91污视频在线观看 | 91精品电影 | 国产精品igao视频网网址 | www成人精品 | 久久电影国产免费久久电影 | 国产精品国产三级国产不产一地 | 天天操天天操天天操 | 久久精品视频在线观看免费 | 亚洲精品视频在线观看网站 | 久久不卡免费视频 | 国产小视频在线播放 | 国产原创91| 在线观看 国产 | 精品在线观看一区二区 | 色婷婷免费 | 午夜av免费在线观看 | 狠狠干夜夜操天天爽 | 99久久日韩精品免费热麻豆美女 | 国产亚州精品视频 | 久久久www免费电影网 | 免费的黄色的网站 | 97高清视频 | 一区二区三高清 | 亚洲性少妇性猛交wwww乱大交 | 欧美精品日韩 | 免费观看丰满少妇做爰 | 综合久久久久 | 97色狠狠| 综合色播| 黄色电影网站在线观看 | 久久久久www | 国产丝袜制服在线 | 色婷婷免费视频 | www免费视频com━ | 欧美福利视频 | 日韩亚洲欧美中文字幕 | 色网免费观看 | 欧美一进一出抽搐大尺度视频 | 国产亚洲精品女人久久久久久 | 91精品国产自产91精品 | 国产视频在线观看一区二区 | 99久久综合精品五月天 | 日韩在线观看中文字幕 | 五月婷激情 | 五月天av在线 | 日韩在线观看高清 | 成人毛片一区 | 日韩精品观看 | 91av在线免费播放 | 欧美成年人在线视频 | 国产录像在线观看 | 日韩高清在线一区二区 | 日韩福利在线观看 | 婷婷丁香在线 | 久久免费在线观看 | 精品二区久久 | 亚洲在线成人精品 | 国产在线精品播放 | 亚洲欧美成人综合 | 久国产在线播放 | 成人av片免费看 | 久久久久国产精品视频 | 亚洲电影自拍 | www.久久色.com | 五月婷在线视频 | 91看片黄色| 免费高清在线视频一区· | 国产在线观看国语版免费 | 国产第一页在线播放 | 婷婷六月天综合 | 久久99中文字幕 | 国产在线a视频 | 国产小视频免费观看 | av最新资源 | 国产视频精品久久 | 婷婷伊人综合亚洲综合网 | 美女黄色网在线播放 | 免费观看午夜视频 | 天天综合网 天天综合色 | av中文字幕av | 久久伊人91 | 免费观看国产成人 | 亚洲人成免费网站 | 综合色在线观看 | 麻豆一级视频 | 国产精品久久久久毛片大屁完整版 | 成人欧美亚洲 | 午夜在线观看 | 国产成人在线免费观看 | 久久婷婷视频 | 六月丁香伊人 | 国产99久久九九精品免费 | 黄色国产高清 | www久久com| 精品久久在线 | 成人av在线资源 | 伊人久久av | 99视频在线观看免费 | 国产偷在线| 国产精品欧美在线 | 午夜精品电影一区二区在线 | 日韩免费电影网站 | 日韩在线欧美在线 | 在线中文字幕一区二区 | 免费在线观看一区二区三区 | av在线网站免费观看 | 成人黄性视频 | 亚洲综合丁香 | 欧美精品黑人性xxxx | 在线观看视频精品 | 91免费版在线观看 | 久久久久草 | 欧美成人xxxxx | 九草视频在线 | 国产一级片观看 | 成人免费观看视频大全 | 9999精品免费视频 | 成人免费一级 | 婷婷色在线观看 | 蜜桃av观看 | 日韩欧美高清免费 | 国产专区一| 91av成人 | 成人动漫一区二区 | 一区二区三区四区免费视频 | 久久精品一区八戒影视 | 亚洲精品乱码久久久久久 | 欧美精品亚州精品 | 欧美a级成人淫片免费看 | aaa亚洲精品一二三区 | 少妇资源站| 美女黄久久 | 色婷婷av一区二 | 国产一卡二卡在线 | 久草网免费 | 成人免费在线网 | 波多野结衣电影一区二区三区 | 在线观看国产 | 骄小bbw搡bbbb揉bbbb | 97天天干| 久99久中文字幕在线 | 久草网视频 | 免费观看一级一片 | 18国产精品白浆在线观看免费 | 在线视频观看成人 | 久久久久欠精品国产毛片国产毛生 | 天天爱天天操天天干 | 五月天亚洲激情 | www狠狠操 | 五月天中文在线 | 国产午夜精品一区二区三区四区 | 色婷婷福利视频 | 欧美精品一区二区免费 | 午夜av色 | 午夜免费在线观看 | 久久国产精品偷 | 国产精品黄色影片导航在线观看 | 99国产一区| 97在线公开视频 | 亚洲国产一区在线观看 | 国产剧情一区 | 亚洲欧美成人在线 | 日韩免费一区 | 手机成人av | 国产成人免费 | 免费视频色| 免费69视频 | 亚洲激情精品 | 久久精品牌麻豆国产大山 | 欧美福利网站 | 五月婷婷丁香色 | 欧美日韩99 | 中文在线免费一区三区 | 国产精品黄色在线观看 | 久草在线免费播放 | 国产精品中文久久久久久久 | 国产粉嫩在线观看 | 久久成人亚洲欧美电影 | 美女网站在线看 | 亚洲乱码精品久久久 | 精品在线一区二区三区 | 亚洲国产视频在线 | 久久黄色片| 日韩激情视频在线观看 | 国产精品孕妇 | 久久成人亚洲欧美电影 | 中文在线字幕免 | 91热爆在线观看 | 国产午夜精品一区 | 91精品对白一区国产伦 | 国产黄色片免费 | 美女黄频视频大全 | 欧美日韩二三区 | 午夜电影av| 国产精品福利无圣光在线一区 | 久久久免费精品 | 国产一区二区久久精品 | 国内精自线一二区永久 | 日韩高清精品一区二区 | 亚洲人成网站精品片在线观看 | 久久久久婷 | 99re在线视频观看 | 99一级片 | 国产a精品| 国精产品永久999 | 天天舔天天搞 | 国产 日韩 在线 亚洲 字幕 中文 | 精油按摩av | 久久99国产精品久久99 | 天天曰夜夜操 | 欧洲精品码一区二区三区免费看 | 久久免费看视频 | 中文字幕在线观看不卡 | 一区二区三区四区在线 | 国产美女视频免费 | 中文国产字幕在线观看 | 久久福利影视 | 亚洲精品欧美专区 | 欧美精品一区二区在线观看 | 97视频一区 | 黄色福利网 | 日韩中文字幕免费电影 | 国产日韩精品在线观看 | 免费在线观看一区 | 在线成人观看 | 视频三区在线 | 日日夜夜网 | 成年人国产在线观看 | 九九日韩 | 毛片无卡免费无播放器 | 91精品国产综合久久福利不卡 | 久久激情综合 | 狠狠躁日日躁狂躁夜夜躁av | 国产精品久久久久久一区二区三区 | 国产玖玖在线 | 中国一级片在线播放 | 麻豆视频在线免费观看 | 亚洲一区网| 日本一区二区三区视频在线播放 | 免费观看久久 | 国产一级片直播 | 成人在线播放av | 超碰个人在线 | 99久久婷婷国产综合精品 | 99在线热播| 国产精品欧美一区二区三区不卡 | 日韩视频在线一区 | 日本婷婷色 | 色视频在线观看免费 | 99久久精品国产欧美主题曲 | 国产日韩在线看 | 久久精品超碰 | 少妇自拍av | 青青河边草免费观看完整版高清 | 日韩国产精品一区 | 天天天天天天天天操 | 国产在线观看91 | 美女视频黄色免费 | 91高清完整版在线观看 | 国产麻豆精品传媒av国产下载 | 2023天天干| 欧美日韩啪啪 | 国产手机av在线 | 亚洲视频一级 | 中文字幕a∨在线乱码免费看 | 免费一级日韩欧美性大片 | 亚洲成aⅴ人片久久青草影院 | 国产亚洲日本 | 91天堂影院| 丁香六月五月婷婷 | 久久久鲁 | 欧美成年网站 | 天天综合天天综合 | 免费看短| 亚洲春色奇米影视 | 欧美激情视频一区二区三区 | 好看的国产精品视频 | 99久久精品日本一区二区免费 | 久久久午夜电影 | 精品999久久久 | 久草在线综合 | 国产亚洲成av片在线观看 | av怡红院| av资源在线观看 | www日韩视频 | av黄色av | 色婷婷国产精品一区在线观看 | www黄com| 免费看成人 | 香蕉视频在线免费看 | 国产亚洲午夜高清国产拍精品 | 亚洲精品白浆高清久久久久久 | 日韩资源在线观看 | 欧美性另类 | 婷婷资源站 | 国产精品综合在线 | 国产精品一区二区久久精品爱涩 | 日韩精品资源 | 精品成人国产 | 久免费| 中文字幕在线影视资源 | 一区二区视频电影在线观看 | 国内视频 | 激情自拍av| 国产精品美女免费视频 | 在线www色| 国产精品一区欧美 | 欧美日韩国产在线观看 | 成人日韩av| 在线免费观看黄色 | 天天色天天艹 | 综合久久久久久久久 | 亚洲精品国产精品国自产观看浪潮 | 在线视频日韩一区 | 韩国av免费看 | 黄色毛片网站在线观看 | 亚洲综合射 | 中文字幕在线网址 | 黄色软件在线看 | 亚洲国产资源 | 久亚洲 | 日本夜夜草视频网站 | 国产成人av在线 | 91精品老司机久久一区啪 | 久久久99国产精品免费 | 亚洲精品午夜久久久久久久 | 国产日韩精品在线观看 | 视频一区久久 | 免费成人在线网站 | 色婷婷一| 日本精油按摩3 | 欧美一进一出抽搐大尺度视频 | 亚洲伊人色| 国产伦理精品一区二区 | 午夜视频在线观看一区二区 | 亚洲第一香蕉视频 | 亚洲一区二区三区毛片 | 亚洲天堂自拍视频 | 五月婷婷综合网 | 一区二区国产精品 | 亚洲黄网址 | 婷婷丁香在线观看 | 久久久久久久久久久免费 | 亚洲成人av片在线观看 | 美女福利视频一区二区 | 久久精品欧美日韩精品 | 天天射天天舔天天干 | 在线观看成人av | 亚洲国产偷 | 人人澡人人添人人爽一区二区 | 波多野结衣视频在线 | 成年人在线免费看视频 | 91在线国产观看 | 亚洲成人麻豆 | 久久视频在线观看中文字幕 | 午夜免费电影院 | 久久精品男人的天堂 | 91在线观看视频 | 特级西西444www高清大视频 | 国产第一页在线观看 | 99久久精品一区二区成人 | 狠狠色狠狠色 | 日韩视频免费观看高清 | 日韩在线观看视频中文字幕 | 在线观看视频97 | 日日添夜夜添 | 日本高清久久久 | 婷婷在线不卡 | 日韩一二三区不卡 | 国产日产精品久久久久快鸭 | 在线观看视频h | 亚洲国产小视频在线观看 | 久久一区二区三区四区 | 亚洲一区二区三区毛片 | 九九99视频 | 免费看av片网站 | 国产精品久久久久影院 | 日韩精品一区二区免费视频 | 91视频免费看片 | 国产精品18久久久久久久 | 久草精品免费 | 国产免费成人 | 天天做日日做天天爽视频免费 | 国产精品久久久久久一区二区三区 | 国产成人精品一区二区三区在线 | 久久激情视频网 | 黄色的片子| 四川妇女搡bbbb搡bbbb搡 | 亚洲免费公开视频 | 国产精品久久久久久爽爽爽 | 欧美疯狂性受xxxxx另类 | 伊人久在线| 骄小bbw搡bbbb揉bbbb | 国产精品99久久久久久久久久久久 | 伊色综合久久之综合久久 | 久久成熟| 日产乱码一二三区别在线 | 99精品视频在线看 | 欧美日韩高清在线观看 | 亚洲综合在线播放 | 成人小视频在线播放 | 日韩精品欧美精品 | 久久视频精品在线观看 | 亚洲在线精品 | 中文字幕91在线 | 黄色免费观看网址 | 久久中文字幕导航 | 少妇啪啪av入口 | 在线观看一 | 亚洲专区在线播放 | 成人香蕉视频 | 天天色棕合合合合合合 | www国产亚洲精品久久麻豆 | 国产精品乱码一区二区视频 | 欧美一级欧美一级 | 麻豆影视在线观看 | 在线观看亚洲电影 | 国产一级淫片在线观看 | 欧美精品亚洲精品日韩精品 | av 一区 二区 久久 | 免费在线看成人av | 亚洲欧美精品一区二区 | 久久99精品久久久久蜜臀 | 国产精品久久久久一区二区国产 | 四虎影视成人永久免费观看视频 | 日韩精品无码一区二区三区 | 香蕉视频在线免费 | 91精品成人久久 | 欧美日韩中文字幕在线视频 | 二区三区毛片 | 黄色高清视频在线观看 | 国产成人精品午夜在线播放 | 中文字幕日本特黄aa毛片 | 免费成人av网站 | 超碰在线中文字幕 | 色a在线观看 | 五月精品| 久久激情视频 久久 | 久草视频在线免费 | www.国产精品 | 国产超碰在线 | 亚洲精品免费观看视频 | 成人免费在线电影 | 国产黄在线 | 国产视频午夜 | 99色免费 | a电影在线观看 | 国产精品视频你懂的 | 国产主播大尺度精品福利免费 | 欧美日韩国产二区 | 五月天丁香视频 | 91入口在线观看 | 天堂网av在线 | 人人澡澡人人 | 狠狠狠狠干| 国产精品99久久免费黑人 | 日韩精品视频免费 | 999ZYZ玖玖资源站永久 | 91精品啪在线观看国产 | 久久伊人精品一区二区三区 | 一级成人在线 | 国产精品美女久久久久久久久 | 97在线观看视频免费 | 天天综合网在线观看 | 国产成人精品a | 久久精品8 | 激情久久久久 | 九九交易行官网 | 久久尤物电影视频在线观看 | 人人玩人人添人人 | 中文字幕在线观看视频一区二区三区 | 国产精品综合久久久久久 | 欧美激情第一区 | 九七在线视频 | 狠狠色丁香久久婷婷综合五月 | 欧美最猛性xxxxx(亚洲精品) | 九九热免费在线观看 | 国产成人精品一区二三区 | 国内毛片毛片 | 久久久久久久av麻豆果冻 | 99热在线观看 | 欧美日韩观看 | 日韩av电影手机在线观看 | 精品久久久久国产 | 国产剧情一区二区在线观看 | 最新不卡av| 久久999精品 | 偷拍福利视频一区二区三区 | 国内久久久 | 香蕉影视app| 日韩黄在线观看 | 精品久久久国产 | 国产在线视频一区二区 | 一区二区三区日韩视频在线观看 | 久久久精品影视 | av中文字幕免费在线观看 | 婷婷免费在线视频 | 一区二区三区高清不卡 | 国产99久久久精品 | 成人黄色大片在线免费观看 | 特级西西人体444是什么意思 | 97视频免费看 | 欧美永久视频 | 97视频免费在线观看 | 午夜视频在线观看一区二区 | 三级午夜片 | 亚洲精品国久久99热 | 精品国产日本 | 国产91国语对白在线 | 国产伦理一区二区三区 | 日韩mv欧美mv国产精品 | 国产精品高潮在线观看 | 免费一级片在线观看 | 亚洲一区二区天堂 | 日韩视频中文字幕在线观看 | 亚洲激情电影在线 | 天天久久综合 | 麻豆91在线观看 | 91漂亮少妇露脸在线播放 | 国内精品久久久精品电影院 | 国产精品午夜在线观看 | 婷婷激情五月综合 | 精品在线视频观看 | 国产精品久久久久久久久久免费 | 在线观看日本高清mv视频 | 欧美大片大全 | 亚洲天天看 | 日韩中字在线观看 | 一区二区三区精品久久久 | 久久精品日韩 | 少妇bbb| 中文字幕 国产视频 | 人人狠 | 欧亚日韩精品一区二区在线 | 亚洲欧美日韩在线看 | 一级黄色片在线播放 | 人人艹视频 | 久久综合九色综合欧美狠狠 | 亚洲精品一区二区18漫画 | 91亚洲精品乱码久久久久久蜜桃 | www.久久久.com | 午夜精品久久久久久久99婷婷 | 国产精品一区二区三区在线 | 国产无套视频 | 天堂网中文在线 | 91精品网站在线观看 | 久久久伊人网 | 一级黄色片毛片 | 国产黄色特级片 | 97在线观视频免费观看 | 97精品欧美91久久久久久 | 亚洲人xxx | 久久免费电影网 | 中文字幕在线一二 | 麻豆小视频在线观看 | 91精品视频在线观看免费 | 97精品视频在线播放 | 日韩精品免费在线观看 | 久久一区二区三区国产精品 | 国产青青青 | 国产精品久久久久久电影 | aaa免费毛片 | 国产精品美女在线 | 国产精品一区二区av日韩在线 | 狠狠操狠狠操 | www.夜夜爽 | 国产精品高潮久久av | 免费麻豆视频 | av中文字幕不卡 | 夜夜高潮夜夜爽国产伦精品 | 999国产精品视频 | 乱男乱女www7788 | 在线播放第一页 | 久久99精品久久久久久久久久久久 | 最新超碰在线 | 新av在线 | 欧美一区二视频在线免费观看 | 美女精品 | 首页av在线 | 国产精品免费久久久久影院仙踪林 | 在线观看免费版高清版 | 亚洲国产午夜视频 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 四虎国产精品永久在线国在线 | 天天操天操 | 国产成年免费视频 | 日韩精品视频免费专区在线播放 | 成年人在线观看网站 | 中文字幕之中文字幕 | 中文国产字幕在线观看 | 黄色视屏在线免费观看 | 欧美性生交大片免网 | 91精品视频免费观看 | 亚洲无在线 | 日韩在线观看一区二区三区 | 日韩在线观看你懂得 | 久久久久久久免费观看 | 国产精品情侣视频 | 日日夜夜av | 在线观看精品视频 | 在线亚洲午夜片av大片 | 日b黄色片| 51精品国自产在线 | 天天爱天天射 | 国产色女人 | 97成人在线视频 | 好看av在线| 久草在线免费播放 | 日韩丝袜视频 | 黄色视屏在线免费观看 | 91丨九色丨丝袜 | 亚一亚二国产专区 | 韩国一区在线 | 欧美老少交| 午夜精品一区二区三区免费 | 亚洲激情电影在线 | 国产黄 | 五月综合激情婷婷 | 日本在线观看黄色 | 色国产精品一区在线观看 | 美女免费视频一区二区 | 天堂麻豆 | 超碰伊人网 | 日韩一区二区三区视频在线 | 五月婷婷久| 色综合久久五月天 | 国产一级视屏 | 久久高清精品 | 日韩av看片 | 色婷婷精品 | 亚洲aⅴ在线 | 98涩涩国产露脸精品国产网 | 天天干 夜夜操 | 在线观看中文字幕2021 | 久久精品一二三 | 日日夜夜人人天天 | 又色又爽又激情的59视频 | 精品在线观看一区二区三区 | 国产看片 色| 草久热 | 国产精品美女网站 | 日韩网站在线 | 亚洲国产免费看 | 久久精品这里热有精品 | 九九色网 | 免费a级黄色毛片 | 日韩乱码在线 | 精品久久国产一区 | 国产伦精品一区二区三区无广告 | 亚洲精品中文在线资源 | 国产黄色大片免费看 | 97电影在线看视频 | 91av免费在线观看 | 一区二区三区四区免费视频 | 九九精品视频在线观看 | 日韩a在线看 | 久草久热 | 波多野结依在线观看 | 99九九免费视频 | 一区二区三区精品在线视频 | 亚洲人成人在线 | 国产精品久久99综合免费观看尤物 | 国产精品久久久久久久久大全 | 精品久久久久久亚洲 | 亚洲午夜精| 久久电影国产免费久久电影 | 欧美成年人在线视频 | 欧美一级专区免费大片 | 日韩欧美在线视频一区二区三区 | 欧美十八 | 在线精品一区二区 | 国产不卡一二三区 | 91精品一区二区三区久久久久久 | 玖玖在线资源 | 国产麻豆电影 | 国产精品刺激对白麻豆99 | 国产亚洲视频在线 | 亚洲欧洲久久久 | 久久精品国产精品亚洲精品 | 尤物97国产精品久久精品国产 | 国产第页 | 激情五月播播久久久精品 | 欧美久久久久久 | 91av国产视频 | 国产精品九九久久久久久久 | 午夜精品福利一区二区三区蜜桃 | 欧美性精品 | 精品国产一二三四区 | 久久香蕉国产精品麻豆粉嫩av | 狠狠色伊人亚洲综合成人 | 久久久久国产精品免费免费搜索 | 亚洲精品久久久蜜臀下载官网 | 亚洲人人爱 | 久久综合网色—综合色88 | 99久久精品免费看国产四区 | 国产视频黄| 一区 二区电影免费在线观看 | 超碰人人av | 97超碰在线久草超碰在线观看 | 天天色天天综合网 | 国产一区二区视频在线 | 偷拍精偷拍精品欧洲亚洲网站 | 国产精品99久久久 | 日韩91精品 | 色播五月激情综合网 | 最新av在线网址 | 久草在线电影网 | 久草视频免费在线播放 | 亚洲一区二区视频在线播放 | 中文字幕丝袜 | 韩国av免费 | 亚洲精品视频在线观看免费 | 久久久久女教师免费一区 | 综合网色 | 欧美片一区二区三区 | 99精品国产99久久久久久福利 | 亚洲区另类春色综合小说校园片 | 日韩在线视频免费观看 | av在线官网| 国产亚洲综合性久久久影院 | 三级黄免费看 | 色偷偷男人的天堂av | 免费99视频 | va视频在线观看 | 91一区二区三区久久久久国产乱 | 久久国产经典视频 | 18pao国产成视频永久免费 | 精品国产电影 | 丁香在线观看完整电影视频 | 九色精品在线 | 欧美成人性战久久 | 日韩av女优视频 | 一区二区久久久久 | 精品欧美一区二区在线观看 | 91在线区 | 欧美在线不卡一区 | 99精品偷拍视频一区二区三区 | 亚州精品天堂中文字幕 | 992tv人人草 黄色国产区 | 国产免费叼嘿网站免费 | 青青河边草免费观看完整版高清 | 国内精品久久天天躁人人爽 | 国产成人福利在线 | 免费网站在线观看成人 | 欧美黄污视频 | 欧美日韩国产二区三区 | 欧美精品成人在线 | 亚洲男男gⅴgay双龙 | 国产视频久久久久 | 久久久天堂 | 亚洲国产婷婷 | 97成人在线观看 | 久久久久久久免费观看 | 国产精品美女久久久久久久久久久 | 91观看视频 | 日本中文字幕视频 | 久久综合影视 | 久久综合久久综合这里只有精品 | 国产五月婷 | 右手影院亚洲欧美 | 午夜精品电影 | 国产亚洲高清视频 | 天天天综合 | 国产久草在线观看 | 亚洲高清在线 | 亚洲爱视频 | 欧美 日韩 性 | 日本精品二区 | 国产在线观看黄 | 色国产在线 | 九九视频网 | 一区 二区电影免费在线观看 | 狠狠干婷婷 | 久久国产成人午夜av影院潦草 | 午夜影院一级片 | 久久久午夜视频 | 国产精品一区久久久久 | 黄污在线看 | 国产三级香港三韩国三级 | 亚洲精品99久久久久中文字幕 | 亚洲自拍偷拍色图 | 婷婷网五月天 | 毛片网免费 | 亚洲一区视频在线播放 | 91在线看 | 天天综合五月天 | 欧美精品黑人性xxxx | 日韩免费视频线观看 | 中文字幕乱码日本亚洲一区二区 | 最近中文字幕国语免费av | 伊人五月婷 | 国内久久久久 | 欧美日韩色婷婷 | 最近高清中文字幕 | 亚洲视频在线看 | 亚洲免费精品一区二区 | 一区二区久久 | 天天综合网~永久入口 | 日韩久久久久久久久久久久 | 国产在线看一区 | 91麻豆看国产在线紧急地址 | 在线观看成人网 | 久久精品视频2 | 日韩精品欧美精品 | 激情五月色播五月 | 91中文在线观看 | 99人成在线观看视频 | 在线观看岛国 | 五月综合久久 | 日日干美女 | 91桃色国产在线播放 | 天天干天天插 | 四虎5151久久欧美毛片 | 91看片在线观看 | 日韩在线欧美在线 | 欧美性天天 | 人人射人人爽 | 日韩高清 一区 | 色婷婷狠狠五月综合天色拍 | 97电影在线看视频 | 久久久久一区 | 亚洲综合视频在线 | 亚洲国产精品一区二区尤物区 | 999电影免费在线观看2020 | 日日草天天干 | 免费av黄色 | 午夜av在线播放 | 久久久久一区二区三区四区 | 欧美日韩三区二区 | 国产日韩在线观看一区 | 色综合久久88色综合天天免费 | 日韩成人在线一区二区 | 久久久久免费观看 | 色噜噜在线观看 | 天天激情天天干 | 人人精久 | 99热这里只有精品在线观看 | 最近日本字幕mv免费观看在线 | 最近中文字幕久久 | 成人免费在线观看入口 | 久久久久久久久久久高潮一区二区 | 韩日精品中文字幕 | 日韩精品视频免费专区在线播放 | 欧美黄色成人 | 亚洲三级毛片 | 日本中文字幕在线看 | 成人黄色av网站 | 一本色道久久精品 | 一区久久久 | 亚洲国产福利视频 | 中文字幕在线日 | 亚洲精品a区 | 久草视频在线资源站 | 99精品免费在线观看 | 日韩av中文在线 | 国产一级片免费观看 | 日p视频在线观看 | 成人资源在线观看 | 国产精品一区二区久久精品爱微奶 | 一本大道久久精品懂色aⅴ 五月婷社区 | 欧美黑人性爽 | 久久高清片| 亚洲最新视频在线播放 | 99热这里有| 亚洲激情综合网 | 欧美日韩高清一区 | 日本午夜免费福利视频 |