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);                                           /*结构体指针作函参*/

}

 

多个源文件处理:

 

 

 

 

 

 

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