类和对象

                                 类和对象

  类是用户自定义数据类型。如果程序中要使用类类型,必须根据实际需要定义,或者使用已设计好的类。

C++定义一个类,一般形式为:

class类名{

成员列表

};

其中成员列表是类成员的集合,数目不限。{}是成员列表边界符,与成员列表一起称为类体。类体后面必须用分号结束。

每个类可以没有成员,也可以有多个成员,类成员可以是数据或函数。

所有成员必须在类的内部声明,一旦类定义完成后,就没有任何其他方式可以再增加成员了。

定义类:

类定义时必须给出各个数据成员的数据类型声明,

一般形式为:

c1ass类名{

数据成员类型数据成员名列表;

};

声明时成员名列表允许为多个,用逗号作为间隔,最后必须用分号结束。

在类中定义成员函数,形式如下

c1ass类名{

返回类型 函数名(形式参数列表)

函数体

};

成员函数的声明在类中,定义在类外部,形式

c1ass类名{

返回类型函数名(类型1参数名1,类型2参数名2…);

返回类型函数名(类型1,类型2,);

返回类型 类名::函数名(形式参数列表)

{

函数体

成员的访问控制:

无论数据成员还是函数成员,类的每个成员都有访问控制属性,由

以下三种访问标号说明:public(公有的)、 private(私有的)和

protected(保护的)

公有成员用 public标号声明,类成员和类用户都可以访问公有成员,

任何一个来自类外部的类用户都必须通过公有成员来访问。public实现了类的外部接口。

定义构造函数:

C++规定构造函数的名字与类的名字相同,并且不能指定返回类型。

定义形式为

类名(形式参数列表)

函数体

构造函数可以没有形参

类名()

函数体

类名(void)

函数体

构造函数初始化列表

构造函数具有函数名、形参列表和函数体,构造函数可以包含一个构造函数初始化列表,一般形式为

类名(形式参数列表):构造函数初始化列表

函数体

析构函数的定义:

C++规定析构函数的名字是类名的前面加一个波浪号(~)。其定义形式为:

~类名()

函数体

析构函数不返回任何值,没有返回类型,也没有函数参数。由于没有函数参数,因此它不能被重载。一个类可以有多个构造函数,但是只能有一个析构函数。

静态数据成员:

静态数据成员是类的一种特殊数据成员

声明形式为

class类名{

static数据成员类型 数据成员名列表;

};

静态成员不能被const限定;

静态成员只能在类外定义一次。

静态成员就是专门访问静态数据的成员。

友元函数:

C++提供友元机制,允许一个类将其非公有成员的访问权授予指定的函数或类。友元的声明只能出现在类定义的内部的任何地方,由于友元不是授予友元关系的那个类的成员,所以它们不受访问控制的影响。友元声明放在类定义的开始或结尾。

友元函数:

如果在一个类以外的某个地方定义了一个函数,在类定义中用friend对其进行声明,此函数就称为这个类的友元函数。友元函数可以访问这个类中的私有成员。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值