一.类
类描述了一组具有相同属性和行为特征的对象。对象是类的实例。类是一种数据类型,而对象是该类型的变量。
在c++语言中,一个类的定义包含数据成员和成员函数两部分内容。数据成员定义该类对象的属性,不同对象的属性值可以不同。成员函数定义了该类对象的操作即行为。
1.类的定义
class 类名
{
private:
//私有数据成员和成员函数
public:
//公有数据成员和成员函数
protected:
//保护的数据成员和成员函数
};
(1)类成员有以下三种访问控制权限
- 私有成员private。私有成员是在类中被隐藏的部分,它往往是用来描述该类对象属性的一些数据成员,这些数据成员用户无法访问,只能通过成员函数或某些特殊说明的函数才可以引用;
- 公有成员public。公有成员一般是成员函数,它提供了外部程序与类的接口功能,用户通过公有成员访问该类对象中的数据成员;
- 保护成员protected。它是只由该类的成员函数、友元和公有派生类成员函数访问的对象。
(2)结构体和类的区别
- 在默认情况下,结构体中的数据成员和成员函数都是公有的,而在类中是私有的。在所有其它方面,结构体和类等价。
2.成员函数的定义
类的数据成员说明对象的特征,而成员函数决定对象的操作行为。成员函数是程序算法实现部分,是对封装的数据进行操作的唯一途径。类的成员函数有两种定义方法:外联定义和内联定义。
(1)外联函数是在类定义体中声明,而在类外定义的成员函数。在类外定义成员函数的具体形式:
返回值类型 类名::成员函数名(形式参数表)
{
//函数体
}
(2)外联函数是指程序在编译时将函数的代码插入在函数的每个调用处,作为函数体的内部扩展,用来避免函数调用机制所带来的开销,提高程序的执行效率。全局函数和类的成员函数均可定义为内联函数。
内联成员函有两种定义方法:一种方法是在类定义体内定义成员函数,另一种是在类外使用inline关键字。
二.对象
对象是类的实例,是有数据及其操作所构成的封装体。对象是面向对象方法的主体。当一个对象映射为软件实现时,由以下三部分组成。
- 私有的数据结构。用于描述对象内部状态。
- 处理。也成为操作或方法,施加于数据结构之上。
- 接口。是对象可被共享的部分,消息通过接口调用相应的操作。
1.对象的定义
(1)在定义类的同时直接定义。
class Location
{
private:
int x,y;
public:
void init(int x0,int y0);
int getX(void);
int gety(void);
}dot1,dot2;
(2)在使用时定义对象
类名 标识符,…,标识符;
2.成员的访问
访问的形式如下:
定义了类及其对象,就可以通过对象来访问公有成员,从而实现对对象内部属性的访问。对象对成员的访问形式如下:
对象名.公有成员名
当指向类类型的指针指向类对象后,可以用指向类对象来访问类成员,形式如下:
*(对象指针名).公有成员名
或者
对象指针名->公有成员名