第八章 类与对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第八章类与对象
【学习目标】
本章主要介绍类类型的定义、构造函数与析构函数的定义与作用、友元函数与友元类的声明与作用、派生类的定义与作用、虚函数和多态性的概念、静态数据成员的声明与定义、模板类的定义与实例化等内容。通过本章的学习,要求同学们:
掌握类的概念,类类型的定义格式,类与结构的关系,类与操作符重载,类的成员属性,类的封装性,类的继承性,构造函数和析构函数的作用,this指针的含义,类对象的定义,友元函数与友元类的作用;了解inline成员函数,静态数据成员,类的多态性与虚函数,类模板等内容。
类:是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的数据成员,共同行为被描述为成员函数。类所描述的事物具有共同的属性和行为(操作),但每一个具体事物(又称为个体,实例或对象)都具有属于自己的属性值和行为特征。
人的共同属性有姓名,性别,出生日期等等。人的共同行为有爱好,工作,学习等等。
同结构与联合一样,类是一种自定义类型,它包括定义数据成员和定义函数成员(又称成员函数),用数据成员来描述同类事物的属性,用成员函数来描述它们的行为。
类定义变量以及访问数据成员与函数成员与结构类型相同。
一、类的定义
1.类的定义格式:
clsaa类名{成员表};
其中:
类名:为自定义的类的名称,可用来定义变量,函数的数据类型。
成员表:为类包含的数据成员和函数成员。
每一个成员都具有一定的存取权限,或者称存取属性,访问权限,访问属性。C++有三个指明符:
public:公用(公有,公共)访问属性,成员可以任意函数所访问。
private:私有访问属性,成员只能为该类的成员函数所访问。
protected:保护访问属性,成员只能为该类成员函数以及该类的派生类中的成员函数访问。
类中的数据成员一般定义为私有,这样只允许该类的成员函数访问,不允许该类以外的任何函数访问,从而使类对象中的数据得到隐藏和保护。
类与结构在定义时的区别:
结构类型定义时在第一个存取指明符前定义的成员具有默认的public访问属性,类在定义时为private访问属性。
2.定义格式举例:
P245:
1.struct ca
{
int a;
int b;
}ax;
2. class cb
{ int a;
int b;
} bx;
3.class cc
{ int a;
public:
void init(int aa){a=aa;}
int getdata(){return a;}
}cx;
4.class cd
{ char *a;
int b;
public:
void init(char *aa,int bb)
{a=new char[strlen(aa)+1];
strcpy(a,aa);
b=bb;
}
char *geta(){trturn a;}
int getb(){return b;}