C++封装

一.访问限定符:类中的访问限定符包括public,private和protect,其中最常用的为public和private,private中的内容不可见,而public中的内容包括对public中的数据成员进行封装以及其他功能。

二.对象实例化:包括从栈中实例化(class TV{},TV tv/TV tv[20]),和从堆中实例化(class TV{},TV *p=new TV()/TV *q=new TV[20])即申请内存的方式,需要注意的是从堆中实例化后需要通过delete p ,delete []q释放内存。

三.对象成员访问方式:从栈中实例化时:如TV tv;tv.type=0;tv.changevol();

               TV tv[20];tv[1].type=0;tv[1]changevol();.......

   从堆中实例化时:如TV *p=new TV();p->type=0;

                          TV*q=new TV[20];p[1].type=0;

四.类外定义:即成员函数在类中声明,在类外定义,用法为 数据类型 类名::函数名{},包括同文件定义与分文件定义,分文件定义即为在.h文件中定义类并声明函数,再在.cpp文件中定义成员函数,定义时.cpp文件需包含头文件#include"类名.h",最后用另一个.cpp文件进行编译,同样包含头文件#include"类名.h",

五.构造函数:1.构造函数的规则及特点:

 a.构造函数在对象实例化时被自动调用且仅调用一次;

 b.构造函数与类同名;

 c.构造函数没有返回值,不写数据类型;

 d.构造函数可以有多个重载形式;

 e.实例化对象时仅用到一个构造函数;

 f.当用户没有定义构造函数时,编译器自动生成一个构造函数,该函数没有做任何事;

 2.构造函数写法:无参构造函数:类名(){。。。。。。}

      有参构造函数:类名(形参){。。。。。。}

3.拷贝构造函数:写法:类名(const类名&变量名),当通过同类型的对象实例化另外的对象时,自动调用拷贝构造函数。

4.初始化列表:初始化列表可同时初始化多个数据成员,且只能用于构造函数,用法为  类名():数据成员(值),数据成员(值){},其特殊作用在于private中的const类型成员只能通过该方式进行初始化。

六.析构函数:使用方法:~类名(){。。。。。。}

       用处:函数执行完后自动释放资源

       特点:1.如果没有自定义的析构函数则系统自动生成

   2.析构函数在对象销毁时自动调用

   3.析构函数没有返回值、没有参数也不能重载

七.对象的生命历程:申请内存->初始化列表->构造函数->参与运算->析构函数->释放内存

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值