第2章 C++面向对象程序设计ppt课件.ppt

第2章 C++面向对象程序设计ppt课件.ppt

ID:59202076

大小:323.50 KB

页数:49页

时间:2020-09-26

第2章  C++面向对象程序设计ppt课件.ppt_第1页
第2章  C++面向对象程序设计ppt课件.ppt_第2页
第2章  C++面向对象程序设计ppt课件.ppt_第3页
第2章  C++面向对象程序设计ppt课件.ppt_第4页
第2章  C++面向对象程序设计ppt课件.ppt_第5页
资源描述:

《第2章 C++面向对象程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章C++面向对象程序设计(C++Object-orientedProgramming)2.1类和对象类和对象的关系任何对象都是它所属类的一个实例Anyobjectisaninstanceoftheclass现实问题空间面向对象解空间意识:抽象概念:学生学生类物质:具体事物:张三/李四一个对象:学生的实例2.1类和对象2.1.1类的定义类的定义一般地分为声明部分和实现部分。class<类名>//声明部分将告诉使用者“干什么”{private:[<私有数据和函数>]public:[<公有数据和函数>]};<各个成员函数的实现>//实现部分是告诉使用

2、者“怎么干”class的后面是用户定义的类名,通常用大写的C字母开始的标识符作为类名,C用来表示类(Class)。类中的数据和函数是类的成员,分别称为数据成员和成员函数。2.1类和对象2.1.1类的定义定义类时还应注意:(1)类中的数据成员的数据类型可以是任意的,但不允许进行初始化。(2)在“public:”或“private:”后面定义的所有成员都是公有或私有的,直到下一个“public:”或“private:”出现为止。(3)public和private可以在类中出现多次,且前后的顺序没有关系。protected(保护)也可修饰成员的类型,它与

3、private两者基本相似,但在类的继承时有所不同。(4)通常将数据成员声明为私有,而大多数成员函数声明为公有,以体现封装性;(5)尽量将类单独存放在一个文件中或将类的声明放在.h文件中而将成员函数的实现放在与.h文件同名的.cpp文件中。2.1.2对象的定义<类名><对象名表>其中,对象名可以有一个或多个,多个时要用逗号分隔。被定义的对象既可以是一个普通对象,也可以是一个数组对象或指针对象。例如:CMetermyMeter,*Meter,Meters[2];这时,myMeter是类CMeter的一个普通对象,Meter和Meters分别是该类的一

4、个指针对象和对象数组。访问对象:<对象名>.<成员变量><对象名>.<成员函数>(<参数表>)类的作用域从class类名声明开始的“{”到结尾的“}”类成员的可见性成员声明不分前后类外成员函数实现用“类名::”在类作用域内访问权限可以忽略2.1.3类作用域与成员可见性classA{voidf1(){f2();//调用类中的成员函数f2cout<

5、;//错误,不能在A作用域外直接使用类中的成员具体地讲,某个类A中某个成员M在下列情况下具有类A的作用域:(1)成员M出现在类A的某个成员函数中,并且该成员函数没有定义同名标识符。(2)成员M出现在a.M或A::M表达式中,其中a是A的对象。(3)成员M出现在pa->M这样的表达式中,其中pa是一个指向A类对象的指针。2.1.3类作用域与成员可见性对象的生存期是指对象从被创建开始到被释放为止的时间。按生存期的不同,对象可分为如下三种:(1)局部对象:当对象被定义时调用构造函数,该对象被创建,当程序退出定义该对象所在的函数体或程序块时,调用析构函数,

6、释放该对象。(2)静态对象:当程序第一次执行所定义的静态对象时,该对象被创建,当程序结束时,该对象被释放。(3)全局对象:当程序开始时,调用构造函数创建该对象,当程序结束时调用析构函数释放该对象。2.1.3类作用域与成员可见性2.1.4构造函数和析构函数1.构造函数为了能给数据成员自动设置某些初始值,这时就要使用类的特殊成员函数——构造函数。构造函数的最大特点是在对象建立时它会被自动执行,因此用于变量、对象的初始化代码一般放在构造函数中。C++规定:构造函数必须与相应的类同名,它可以带参数,也可以不带参数,还可以重载。2.1.4构造函数和析构函数c

7、lassCMeter{public:CMeter(intnPos)//带参数的构造函数{m_nPos=nPos;}...}若有:CMeteroMeter(10),oTick(20);则会自动调用构造函数CMeter(intnPos),从而使得对象oMeter中的私有成员m_nPos的值为10;使得对象oTick中的私有成员m_nPos的值为20。2.1.4构造函数和析构函数classCMeter{public:...~CMeter(){}//析构函数...}2.析构函数与构造函数相对应的是析构函数。析构函数是另一个特殊的C++成员函数,它只是在类名

8、称前面加上一个“~”符号。每一个类只有一个析构函数,没有任何参数,也不返回任何值。2.1.4构造函数和析构函数只有在下列两

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。