Time of Update: 2018-12-05
1、一個數組賦值給另一個數組,同時將這段代碼改寫為vector實現 #include <iostream>using namespace std;int main(){ size_t array_size=7; int ia1[]={0,1,2,3,4,5,6}; int ia2[array_size]; //C++裡面的數組複製,只能建立一個足夠大小的新數組,然後進行複製
Time of Update: 2018-12-05
1、C++裡的鑽石結構 class A { }; class B : virtual public A { }; class C : virtual public A { }; class D : public B, public C { };2、long和float都是用四個位元組表示3、關鍵字volatile的作用
Time of Update: 2018-12-05
1、指標變數的定義: 類型名 *指標變數名;----------------如:int *p1,*p2;類型是指指標變數所指的地址上儲存內容的類型,因儲存資料的不同佔用儲存空間是不同的,“*”前有類型定義符時,“*”含義是定義指標;2、指標變數的賦值:一個指標變數可以通過賦值、初始化、分配記憶體空間來獲得一個確定的地址值,從而指定一個具體的對象。如 int k=1,*q,*p; q=&k; 指標q指向變數k的地址; p=q;
Time of Update: 2018-12-05
程式一:直角三角形,就斜邊長和面積#include <iostream>#include <cstdlib>#include <math.h>using namespace std;class Triangle{public: Triangle(double aa,double bb) { a=aa; b=bb; } double hypot() { return
Time of Update: 2018-12-05
1、指向函數的指標:聲明格式: 資料類型(*函數指標變數名)(函數形參標識符列表)函數指標變數指向函數的入口地址,即數組名;如:char (*pf)(char *,int);這個函數指標pf可以指向函數形參類型依次為char*,int,傳回值類型為char的函數。2、指向函數的指標賦值,格式如:函數指標=函數名;3、函數指標的調用,格式為:(*指標名)(實參列表)傳回值為指標的函數。函數被調用後,傳回值為指標的函數,此類函數成為指標的函數; 定義:如int *func(int x,int
Time of Update: 2018-12-05
區分:函數定義--->函數原型說明--->函數調用 函數的嵌套:一個函數調用另一個函數,稱為函數的嵌套調用; 函數的遞迴調用:一個函數直接或間接的調用自己,成為函數的遞迴調用; ========================================================================================幾道小的測試題:1、編寫一個程式,計算x的n次方;#include&
Time of Update: 2018-12-05
1 概念,從檔案編碼的方式來看, 檔案 分為 文字檔 和 二進位檔案; c語言中裝置也作為檔案來處理,如輸入裝置(鍵盤)stdin、輸出裝置(顯示 器)stdout2 對檔案的操作可以用 指向該檔案結構體變數的指標變數 在程式中聲明指向檔案結構體變數的指標 FILE *檔案結構體指標變數檔案開啟函數 fopen
Time of Update: 2018-12-05
這幾天著重研究呃C++的繼承和多態兩個重要章節;通過一個題,不斷的最佳化達到理解的效果,繼承的重點在於三種繼承方式的區別public private
Time of Update: 2018-12-05
建構函式:是在建立對象時,用來給對象進行初始化的函數,即設定初始值,被稱為建構函式:聲明為:class 類名{ 函數名();};建構函式的函數名,必須和類名相同,如果類中沒有預設建構函式,則系統會自動建立一個建構函式。通過代碼感受建構函式:休閑鞋類的樣本: #include <iostream>using namespace std;class CShoes //聲明類CShoes{ public:
Time of Update: 2018-12-05
類中的共有結點類是產生對象的模板,但每個由類建立的對象都有其隔離儲存區 (Isolated
Time of Update: 2018-12-05
1 定義一個變數時,要給變數分配儲存空間,儲存地點可以在電腦的寄存器和記憶體中,記憶體又可以分為一般資料區和堆棧區2 儲存類型 儲存類型符 儲存地點 自動型 auto 記憶體堆棧區 寄存器型
Time of Update: 2018-12-05
操作符重載,是類定義中用到的工具,下面是複數相加減的例子,通過重載“+”“-”達到兩個類之間的操作,即兩個類的對象的相加減;#include <iostream>using namespace std;class complex{private: double real; double imag;public: complex(double r=0.0,double i=0.0) { real=r; imag=i; }
Time of Update: 2018-12-05
1、用指標的方法編寫一個函數,交換從鍵盤讀入的兩個整型數a和b;#include <stdio.h>#include <stdlib.h>void swap(int *p1,int *p2){ int temp; temp = *p1; *p1=*p2; *p2=temp;}int main(){ int x,y; printf("請輸入兩個數:\n"); scanf("%d",&x);
Time of Update: 2018-12-05
1、結構體類型的定義2、結構體變數的定義(只有定義了結構體變數後,作業系統才給變數分配儲存空間) 類型和變數可同時定義,也可分開定義; 結構體變數所佔儲存空間是結構體類型各成員所佔空間之和; 結構體變數對結構體成員的引用:結構體變數.成員名; 給結構體變數的賦值方法有三種:初始化,賦值和從鍵盤讀入。3、結構體類型的數組(結構體最常見的用法)
Time of Update: 2018-12-05
1、關於UnicodeUnicode字串中所有的字元都是16位的wchar_t是一個Unicode字元的資料類型2、核心對象由核心所擁有,而不是由進程所擁有。換句話說,如果你的進程調用了一個建立核心對象的函數,然後你的進程終止運行,那麼核心對象不一定被撤銷。核心對象的存在時間比建立該對象的進程長。核心知道有多少進程正在使用一個核心對象,因為每個對象包含一個使用計數。3、若要確定一個對象是不是屬於核心對象,最容易的方法是觀察建立該對象所用的函數。4、當一個進程被初始化時,系統要為它分配一個控制代碼
Time of Update: 2018-12-05
對象與函數的關係(知道如何把對象指標和引用作為函數參數) 將對象指標作為函數的參數,傳遞給函數處理有兩個好處1、減少資料分配的時間和空間,提高了程式啟動並執行效率;2、在被調函數中,可以直接改變實參對象的值,實現函數之間的資訊交換。通過一個例子感受 對象指標作為函數的參數#include <iostream>using namespace std;class CPoint{ public : CPoint(int x,int y); void
Time of Update: 2018-12-05
繼承:一個類直接包含另一個類的屬性和方法。同類事物具有共同性,在同類事物中,每個事物又具有特殊性。運用抽象的原則捨棄對象的特殊性,抽取其共同性,則得到一個適應於一批對象的類,這就是基類(父類);把具有特殊性的類稱為衍生類別(子類)。衍生類別的對象擁有基類的全部或部分屬性與方法,稱作衍生類別對基類的繼承。 繼承的方式有三種:公有繼承,私人繼承和保護繼承通過一個列子,體會不同的繼承方式對類的成員函數的影響:class CFruit //聲明基類{ public:
Time of Update: 2018-12-05
文章目錄 1、線程的基本概念、線程的基本狀態及狀態之間的關係。2、線程與進程的區別3、線程的同步與互斥4、死結產生的原因以及如何避免死結 1、線程的基本概念、線程的基本狀態及狀態之間的關係。(1)線程的概念 -------1) 線程最直接的理解就是“輕量級進程”,它是一個基本的CPU執行單元,也是程式執行流的最小單位,由線程ID、程式計數器、寄存器集合和堆棧組成。 -------2)
Time of Update: 2018-12-05
類機制:類是對某一類對象的抽象;對象是某一類的執行個體;類是一種複雜的資料類型,將不同類型的資料和這些資料相關的操作封裝在一起的集合體; 通過一道程式題來感受從結構到類的轉變:傳統的面向過程程式設計中,程式的表示方法是:程式=演算法+資料結構物件導向程式設計中,程式的表示方法是:對象=演算法+資料結構程式=對象+對象+對象+。。。 一個操作銀行賬戶的程式,用面向過程的方法來做,思路如下:
Time of Update: 2018-12-05
1、關於vector的內部實現 對於vector,任何插入刪除的操作都會使迭代器失效,所以要小心 vector內部實現其實就是一塊連續的記憶體,它和傳統的array不同的它可以擴容,不用考慮越界。