日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

c/c++

C++学习札记(2011-09-30)

發布時間:2025/3/18 c/c++ 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++学习札记(2011-09-30) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最新文章:Virson's Blog

1、對象由屬性(Attribute)和服務(Service)兩部分組成

2、對象的屬性值只應由這個對象的服務來讀取和修改

3、具有相似屬性和行為的一組對象,成為類(Class)

4、在已有類的基礎上通過增加新的特性而派生出新的類,稱作繼承;原有類稱作一般類或基類,新建立的類則稱為特殊類或派生類

5、繼承意味著“自動擁有”或“隱含地復制”,即在定義新類時,只要將新類說明為某個一般類的特殊類,它就會自動的、隱含的擁有這個一般類的全部屬性和服務;在特殊類中,這些屬性和服務可以直接使用而不必重新定義

6、通過消息在對象之間進行通信是面向對象的一個基本原則

7、多態性的定義是:同一操作作用于不同的類的實例,將產生不同的執行結果,即不同類的對象收到相同的消息時,得到不同的結果。

8、多態性包含編譯時的多態性、運行時的多態性兩大類。即:多態性也分為靜態多態性和動態多態性兩種

9、靜態多態性是指定義在一個類或函數中的同名函數,它們根據參數表(類型以及個數)區別語義,并通過靜態聯編實現,例如,在一個類中定義的不同參數的構造函數

10、動態多態性是指定義在一個類層次的不同類中的重載函數,它們一般具有相同的函數,因此要根據指針指向的對象所在類來區別語義,它通過動態聯編實現,例,在用戶不作任何干預的情況下,類的成員函數的行為能根據調用它的對象類型自動作出適應性調整,而且調整是發生在程序運行時,這就是程序的動態多態性,即,發出同樣的消息被不同類型的對象接收時,有可能導致完全不同的行為

11、程序設計多態性的示例

  多態性就是多種表現形式,具體來說,可以用"一個對外接口,多個內在實現方法"表示。舉一個例子,計算機中的堆棧可以存儲各種格式的數據,包括整型,浮點或字符。不管存儲的是何種數據,堆棧的算法實現是一樣的。針對不同的數據類型,編程人員不必手工選擇,只需使用統一接口名,系統可自動選擇。

  舉例子說明一下:

  #include <iostream.h>   class A {   public:   virtual void test() { cout<<"aaa"<<endl; } //運行時的多態性,如果不加virtual就是編譯時的多態   //void test() { cout<<"aaa"<<endl; }//編譯時的多態性   };   class B:public A   {   public:   void test() {cout<<"bbb"<<endl;}   };   class C:public B   {   public:   void test() {cout<<"ccc"<<endl;}   };   void main()   {   C cc;   A *p=&cc;   p->test();   }   在Class A的test函數前加上virtual,即在運行時多態的時候,程序輸出結果為:ccc   在Class A的test函數前不加virtual,即在編譯時多態的時候,程序輸出結果為:aaa   C++的多態性:在的函數前面加上Virtual關鍵字,在派生類中重寫該函數,運行時將會根據對象的實際類型來調用相應的函數。如果對象類型是派生類,就調用派生類的函數;如果對象類型是基類,就調用基類的函數。

12、私有成員只能被該類的成員函數所訪問,從類外不能直接訪問類的私有成員;公有成員是類的訪問接口,從類外可以直接訪問類的公有成員;保護成員的訪問控制權限介于私有成員與公有成員之間,在該類的派生類中可以直接訪問其基類的保護成員

13、動態聯編

動態聯編又稱動態關聯   定義:   編譯程序在編譯階段并不能確切知道將要調用的函數,只有在程序執行時才能確定將要調用的函數,為此要確切知道該調用的函數,要求聯編工作要在程序運行時進行,這種在程序運行時進行聯編工作被稱為動態聯編。   動態聯編必須包括以下方面:   成員函數必須聲明為virtual   如果基類中聲明了為虛函數,則派生類中不必再聲明。   調用方式:   通過對象的指針或引用調用成員函數;或通過成員函數調用,反之就無法實現動態聯編。   例如:   #include <iostream>   using namespace std;   const float pi=3.14159;   class circle1   {   public:   virtual float area( ) //把area聲明為虛函數   {   radius=2.5;   return pi*radius*radius;   }   private:   float radius;   };   class circle2:public circle1   {   public:   float area( )   {   radius=5.5;   return pi*radius*radius;   }   private:   float radius;   };   void main()   {   while(true)   {   cout<<"請輸入1或2.\n";   int choise;   cin>>choise;   circle1 *p; //定義一個類circle1的指針變量p   switch(choise)   {   case 1:p=new circle1;   break;   case 2:p=new circle2;   break;   default:break;   }   cout<<"the area of the circle"<<choise<<" "<<p->area()<<endl;   }   } 14、動態聯編是實現多態性的一種重要形式 15、在C++中消息傳遞是通過成員函數調用來實現的 16、C++允許友元從類外直接訪問類的私有成員 17、靜態聯編 靜態聯編是指聯編工作出現在編譯連接階段,這種聯編又稱早期聯編,它解決了程序中的操作調用與執行該操作代碼間的關系。   靜態聯編   靜態聯編含義:   在編譯時所進行的這種聯編又稱靜態束定,在編譯時就解決了程序中的操作調用與執行該操作代碼間的關系。   例7.3.1 一個靜態聯編的例子。   #include<iostream.h>   class point{ private: float x, y;   public:   void setPoint(float I, float j)   { x=I;   y=j;   }   float area( )   { return 0;}   };   const float pi=3.14159;   class circle:public point   { private: float radius;   public:   void setRadius( float r)   { radius =r; }   float area( )   { return pi*radius*radius;}   };   void mian()   { point p;   float a=p.area();//調用point類的成員函數   cout<<"the area of the point p is"<<a<<endl;   circle c;   c.setRadius(2.5);   a=c.area(); //調用circle類的成員函數   cout<<"the area of the circle c is"<<a<<endl;   }   程序結果為:   the area of the point p is 0   the area of the circle c is 19.634937 18、#include是一條預處理命令,功能是要求編譯器在對程序進行預處理時,將其后的文件的代碼嵌入到程序中 19、cout是系統預定義的一個標準輸出設備,一般代表顯示器 20、cin是系統預定義的一個標準的輸入設備,一般代表鍵盤 21、c++中標識符是嚴格區分大小寫的,并且標識符只能由大/小寫字母,數字(0~9)和下劃線組成,并且第一個字符必須是字母或下劃線 22、代碼中的空白是空格、制表符(按Tab鍵產生的字符)、換行符(按Enter鍵產生的字符)和注釋的總稱,空白在編譯的時候會被忽略 23、在用C++語言編寫好源程序后,還需要進行編輯、編譯、連接和運行四個步驟;“編輯”后保存成*.cpp文件,“編譯”后產生二進制目標文件*.obj;“連接”(把目標文件和其他分別編譯生成的目標代碼模塊(如果有的話)以及系統提供的標準庫函數連接在一起,生成可直接運行的可執行文件)后產生可執行文件;“運行”可執行文件

總結

以上是生活随笔為你收集整理的C++学习札记(2011-09-30)的全部內容,希望文章能夠幫你解決所遇到的問題。

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