C++程序设计之类的定义
1、C++的类是在结构体的基础上扩充而来的。
在C++语言中,结构体可以被作为成员缺省为公有访问属性的类使用。
class 类名
{
private:
数据成员或成员函数
protected:
数据成员或成员函数
public:
数据成员或成员函数
};
<各成员函数的实现代码>
2、注意事项:
1、class是定义类的关键字,类名必须是C++的有效标识符,但一般首字母大写;
2、大括号的部分是类的成员(数据成员和函数成员),
分别由private、public、protected三个关键字后跟冒号来指定访问属性。
可以任何顺序出现任意次,
这3部分并非必须同时出现;
3、只有类中的成员函数才能使用private的数据成员和成员函数;
4、public部分说明的数据成员或成员函数可追边陵被程序中的任何函数或语句调用,
public成员多为成员函数;
5、protected部分
说明的数据成员和成员函数是不能在类之外调用的, Ø只有类的成员函数及其子类(派生类)可以存取protected的成员;
6、当未指明成员是哪部分时,默认是属于private成员,但一般不要采用;
7、在类的定义中,类的说明部分的右边大括号后面必须有一个“;”。
3、将成员函数的定义直接写在类中。

4、成员函数的定义
在类定义之外定义成员函数
在类的定义体中只写出成员胳孝函数的原型说明,而成员函数的定义写在类的定义之后。
返回值类型 类名::成员函数名(参数说明)
{ 函数体 }
1、通常将类的定义写在文件(.h文件)中,该文件称为头文件
2、成员函数的定义写在另一个文件(.cpp文件)中,称为类文件
注:在类文件中,一定要使用“include”语句包含对应的头文件,否则,将会出现找不到成员函数或类成员的错误。

5、对象的定义和使用
对象是类的实例,定义对象的方法和定义基本类型的变量一样:
类名 对象名;

6、this指针
类的非静态成员函数必须通过对象进行调用。
成员函数中,可以直接访问类成员。隐含解释为是对“当前调用者对象”的成员进行访问或使用。
成员函数中“this-><成员名>” “(*this).<成员名>”可以省略

7、构造函数的作用及实现
1、象也被称为类变量,一个类的对象是这个类的一个实例。
2、可以有多种赋值方式。
8、直接赋值的类应该满足:
1、所有数据成员都是公有的
2、没有声明任何构造函数的

9、公有的初始化函数。
定义一个专用的初始化函数,该函数可以有若干个参数。

10、构造函数:
C++规定在类的说明中可以包含一个或多个特殊的公有函数成员——构造函数
1、函数名与类名相同;
2、无函数(返回)类型说明;
3、构造函数在一个新的对象被建立时,该对象所隶属类的构造函数自动地被调用,对这个对象完成初始化工作;
4、在上一条中提到的新对象的建立包括两种情况:一种是在对象说明语句中,一种是用new 函数建立新的动态对象时;
5、如果一个类说明中没有给出显式的构造函数,系统将自动给出一个缺省的(隐式的)构造函数:
6、如果说明中包括多个构造函数,一般它们有不同的参数表和函数体
<类名>(void){}
11、成员初始化列表:
一些特殊情况下数据成员只能用初始化,而不能被赋值。
1、量成员
2、引用型的成员

12、析构函数的作用及实现
1、析构函数名一律为“~〈类名〉”,如“~point”;
2、析构函数无函数返回类型;
3、析构函数没有参数;
4、一个类只可有一个析构函数,也可以缺省;
5、在对象生存期结束时,包括用delete函数释放动态对象时,系统自动调用析构函数;
6、若某个类定义中没有给出显式的析构函数的话,则系统自动给出一个缺省的(隐式的)如下形式的析构函数:
~<类名>(void){}
13、内联函数的定义和实陕吐现
1、使用关键字“inline”来定义内联函数。
2、关键字inline 必须与函数定义体放在一起才能使函数成为内联
