1、記憶體申請
如果要申請20個結構體complex,那麼可以這樣寫:
c的記憶體申請:
complex arr =
(complex*
)malloc(20
*sizeof
(complex)
);
c++:
釋放:
complex arr =
new complex[20]
delete arr
申請時自動出構造,釋放時自動出析構。
釋放已釋放的記憶體會崩
2、函式模板
防止多次寫相同的東西,注意只能在引數數量相同的情況下能用
格式是這樣的:
/*template a(a是template的型別)
返回型別 函式名 參數列
*/template t1, t2
t1 max
(t1 a, t2 b)
/*這個函式會返回t1型別的值*/
/*呼叫如下*/
int a =10;
float b =
10.212
;cout<<
max(a,b)
*t1是int,t2是float,會返回b的t1型別值,即10*/
3、類和物件
·類的定義
class
student
/*class是關鍵字*/
將上面這個檔案儲存為student.h。
#include
student::
student
(int id)
void student::
modify
(float s)
void
display()
將上面這段**儲存為student.cpp。
#include
"student.h"
#include
using
namespace std;
intmain()
將下面這段**儲存為stu1.cpp
注意,上面出現了乙個東東叫this。
this的作用是聯絡成員函式和成員物件。即在成員函式中,我們該怎麼把形參的值賦給成員變數呢?答案是用this去指向你要賦值的成員變數。this的本質是隨成員函式產生而產生的乙個指標,是個成員函式的形參,指向物件的位址。
類——>物件——>成員函式、成員變數;其中,在定義成員函式時,成員變數和成員函式有一種方法連線,那就是使用this這個指標;類和成員函式有一種方法連線,那就是在宣告的時候加上student::modify(float s)。
在main函式中是用成員函式時,有兩種方法把成員函式和物件連線起來,乙個是通過 . :stu1.modify;另一種是通過定義指標: student *pstu = new student;
pstu -> setname(「李華」);。
cpp學習 指標 1
1.int x 3 int p x 1 這一段 中int p結合順序為 int p,改為int p 則無法通過編譯。2 此處p代表乙個首位址,而下面的使用中p則代表定位到這個首位址,而int和char之類的之前的型別,則起到了確定該指標指向的變數的具體長度,譬如int為4個位元組,short為兩個位...
Cpp學習筆記三
try語句 函式引數 函式返回值 生命期try語句用於處理程式異常 使用throw丟擲異常,在try語句塊 現的異常使用 catch進行捕獲 throw runtime error message 來丟擲乙個異常 每個標準庫的異常類都有乙個名為what的函式,返回c風格字串 try catch 丟擲...
Cpp學習筆記2
迴圈型別while 迴圈當給定條件為真時,重複語句或語句組。它會在執行迴圈主體之前測試條件。for 迴圈 多次執行乙個語句序列,簡化管理迴圈變數的 do.while 迴圈 除了它是在迴圈主體結尾測試條件外,其他與 while 語句類似。巢狀迴圈 您可以在 while for 或 do.while 迴...