C++知識

類的一個對象就是一個實例

n析構函數

1、當一個對象生命週期結束時,其所佔有的內存空間就要被回收,這個工作就由析構函數來完成。

2、析構函數是“反向”的構造函數,析構函數不允許有返回值,更重要的是析構函數不允許帶參數,並且一個類中只能有一個析構函數。

函數的重載

   重載構成的條件:函數的參數類型、參數個數不同,才能構成函數的重載

`
n函數的重載

分析以下兩種情況,是否構成函數的重載。

第一種情況:(1)void output();

                        (2)int output();

第二種情況:(1)void output(inta,int b=5);

                   (2)void output(int a);

nthis指針

1、this指針是一個隱含的指針,它是指向對象本身,代表了對象的地址

2、一個類所有的對象調用的成員函數都是同一代碼段。那麼成員函數又是怎麼識別屬於同一對象的數據成員呢?原來,在對象調用pt.output(10,10)時,成員函數除了接受2個實參外,還接受到了一個對象s的地址。這個地址被一個隱含的形參this指針所獲取,它等同於執行this=&pt。所有對數據成員的訪問都隱含地被加上前綴this->。例如:x=0; 等價於 this->x=0

指針數組:

http://baike.baidu.com/view/2072881.htm

獲得數組:gets(對象.~)

獲得字符串;對象。~=getchar();

其他scanf(“”)

 

結構體變量指針作函參

#include<stdio.h>

struct person

{

       charname[20];

       charsex;

       intage;

       floatheight;

};

void output(struct person*p)

{

       printf("%-5s%3c%7d%8.1f",p->name,p->sex,p->age,p->height);

       printf("\n");

}

void main()

{

       structperson *ptr,per[3]={{"韓華",'F',20,180.4},

                                                 {"李凡",'F',19,168.2},

                                                 {"任麗",'M',20,174}};

       ptr=per;

       printf(“人員信息如下:\n”);

       printf(“姓名 性別 年齡  身高:\n”);

       for(;ptr<per+3;ptr++)output(ptr);                                           /*結構體指針作函參*/

}

 

多個源文件處理:

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章