C++中的类与对象

来源:互联网 发布:《怪物》 韩国 知乎 编辑:程序博客网 时间:2024/05/24 08:34

什么是类与对象?
是一种抽象化的数据类型,一般而言,它包括数据与处理数据的函数这两大部分。而对象则是对某一类的实例。例如:

class CMyClass  //CMyClass为类     {  };..............................CMyClass myClass; //myClass为对象

1.类的定义与特点

类的定义示例如下:

class CMyClass    {  //数据及成员函数的声明       private:             [私有数据及函数声明]       publicint per;// [公有数据及函数声明]       protected:            [保护型数据及函数声明]    };    //<各个成员函数的实现> void CMyClass:: function1()    {        .........     }void CMyClass:: function2()    {        .........     }

特点:

(1).类名通常以大写的C开头,C代表Class,以便和对象,函数及其他数据类型区别。

(2).分号不能省略

(3).数据成员不能初始化,也不能指定除static之外的任何存储类型。

(4).若成员未指定访问权限,则默认为private

在使用过程中,我们应尽量将类单独存放在一个文件,或者将类的声明放在.h文件里,而将成员函数的实现放在.h同名的.cpp文件中.

2.对象的定义与访问
对象的定义格式如下:
<类名> <对象名表>
示例:

CMyClass myClass,*myClass1,myClass2[2];

上述被定义的对象有三种:普通对象,指定对象,指针对象
对象的访问方式也有三种:

(1)通过对象名和成员运算符“.”,表示方法为:
<对象名>.<成员变量>
<对象名>.<成员函数>(<参数表>)
示例:

myClass.function1(),myClass2[0].function1();

上述方法适合普通对象和数组对象。

(2)通过”->“运算符
“->”是用于表示成员的运算符,用于指针对象。方式如下:
<对象指针>-><成员变量>
示例:

myClass1->function1();

对于对象指针,还有如下方法:
(*<对象指针>).<成员变量>

3.对于引用型对象,访问方式与普通对象相同:

CMyClass myClass;  //定义对象myClassCMyClass &myClass3=myClass;  //定义CMyClass 类引用变量myClass3,                            //并使之初始化为myClasscout<<myClass3.per;  //输出对象myClass中的成员per

分析:
由于myClass3与myClass共占同一段存储单元(即myClass3是myClass的别名),因此myClass3.per就是myClass3.per。