类学习总结——菜鸟总结

1.类的定义

类是对具有相同属性和行为的一组对象的抽象与统一描述。是用户自定义的数据类型。类的定义包括行为和属性两个部分。属性以数据表示,行为通过函数实现。

类的成员可以是其他类的对象,但不能以类自身的对象作为本类的成员,而类自身的指针和引用可以作为类的成员。类定义必须以分号“;”结束。类与结构体的区别:没有明确指定类成员的访问权限时,C++结构体的成员是公有的,而类的成员是私有的。

2.访问控制

类的访问属性有:

Public 公有成员 类的外部接口

Protected 保护成员 仅允许本类成员函数及派生类成员函数访问

Private 私有成员 仅允许本类成员函数访问

3.成员函数

类的成员函数是实现类的行为属性的成员。一般将成员函数声明为函数原型,在类外具体实现成员函数

4.对象

对象是类的实例或实体。类与对象的关系,如同C++基本数据类型和该类型的变量之间的关系。

对象的定义格式如下:

类名 对象名1,对象名2,…,对象名n;

必须在定义了类之后,才可以定义类的对象

5.类定义和使用时应注意:

在类的定义中不能对数据成员进行初始化

类的任何成员都必须指定访问属性,一般将数据成员定义为私有成员或保护成员,将成员函数定义为公有成员

类中的数据成员可以是C++语法规定的任意数据类型

类的成员可以是其他类的对象,称为类的组合。但不能以类自身的对象作为本类的成员

类定义必须以分号“;”结束

class与struct的不同:

class中,成员缺省情况是private

struct中,成员缺省情况是public

6.构造函数

构造函数是用于创建对象的特殊成员函数。当创建对象时,系统自动调用构造函数

构造函数的作用是:

为对象分配空间;对数据成员赋初值;请求其他资源

没有用户定义的构造函数时,系统提供缺省版本的构造函数

构造函数名与类名相同:类名

构造函数可以重载。构造函数可以有任意类型的参数,但没有返回类型

7.析构函数

析构函数是用于取消对象的成员函数

当一个对象作用域结束时,系统自动调用析构函数

析构函数的作用是进行对象消亡时的清理工作

没有用户定义析构函数时,系统提供缺省版本的析构函数

析构函数名为: ~ 类名

析构函数没有参数,也没有返回类型。

对象生存期结束时,需要做清理工作,比如:释放成员(指针)所占有的存储空间

析构函数可以完成上述工作。

析构函数自动调用(隐式调用)

析构函数没有返回值,不能有参数,也不能重载

定义格式如下(类外实现):

类名::~类名()

{

      函数语句

}

析构函数有以下一些特点:

   ① 析构函数与构造函数名字相同,但它前面必须加一个波浪号(~);

   ② 析构函数没有参数,也没有返回值,而且不能重载。因此在一个类中只能有一个析构函数;

   ③ 当撤消对象时,编译系统会自动地调用析构函数。

学习类的时候不能只是纸上谈兵,还要在具体的代码上实现出来,由于做的代码不多,所以对于类的理解还不深刻,所以需要加强。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值