什么是类与对象?
类是一种抽象化的数据类型,一般而言,它包括数据与处理数据的函数这两大部分。而对象则是对某一类的实例。例如:
class CMyClass //CMyClass为类
{ };
...............
...............
CMyClass myClass; //myClass为对象
1.类的定义与特点
类的定义示例如下:
class CMyClass
{ //数据及成员函数的声明
private:
[私有数据及函数声明]
public:
int 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; //定义对象myClass
CMyClass &myClass3=myClass; //定义CMyClass 类引用变量myClass3,
//并使之初始化为myClass
cout<<myClass3.per; //输出对象myClass中的成员per
分析:
由于myClass3与myClass共占同一段存储单元(即myClass3是myClass的别名),因此myClass3.per就是myClass3.per。