C++类以及对象课件.ppt

C++类以及对象课件.ppt

ID:57383423

大小:396.50 KB

页数:76页

时间:2020-08-14

C++类以及对象课件.ppt_第1页
C++类以及对象课件.ppt_第2页
C++类以及对象课件.ppt_第3页
C++类以及对象课件.ppt_第4页
C++类以及对象课件.ppt_第5页
资源描述:

《C++类以及对象课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++语言是C的扩充扩充C语言C++语言扩充的目的:支持面向对象程序设计扩充的功能:类定义消息传递(类似函数调用)继承、虚函数第二章类和对象对象与封装对象相对独立的实体具有表示其状态、特征的属性具有表示其行为、功能的操作封装性:只有自身操作可访问对象属性面向对象方法将分析、设计的系统和程序都抽象为对象组成的模型面向对象程序设计运行中程序实例=若干对象实例+交互控制程序=若干对象类(用于描述各种对象)对象类=程序模块C++程序=主函数(main)+若干类定义类C++的类是把各种不同类型的数据(称为数据成员)和对数据的操作(成员函数)组织在一起而形成的用户自定义的

2、数据类型。C++中,类定义包括类说明和类实现两大部分。说明部分提供了对该类所有数据成员和成员函数的描述,而实现部分提供了所有成员函数的实现代码。类的定义***.hclass类名{数据成员的说明public:方法成员的说明};说明:类名由用户自己定,一般首字母大写默认是private,只有类中的成员函数才能访问注意:类定义的末尾有一分号注意:不能在类定义中对数据成员进行初始化classLocation{intx=25,y;//ERROR};classDate{intyear,month,day;public:Date(inty,intm,intd);voidsetY

3、ear(inty);voidsetMonth(intm);voidsetDay(intd);intgetYear();intgetMonth();intgetDay();};//date.h类的定义成员函数的定义1、将成员函数的定义直接写在类中适合于成员函数规模较小的情况(内联函数)2、在类的定义体中只写出成员函数的原型说明,而成员函数的定义之后再写通常将类的定义写在一个头文件(.h文件)中,成员函数的定义写在一个程序文件(.cpp文件)中一般形式:返回类型类名::成员函数名(参数说明){类体}classDate{intyear,month,day;public:

4、Date(inty,intm,intd);voidsetYear(inty);voidsetMonth(intm);voidsetDay(intd);intgetYear();intgetMonth();intgetDay(){returnday;}//内联函数};//date.cpp实现部分#include"date.h"Date::Date(inty,intm,intd){year=y;month=m;day=d;}intDate::getYear(){returnyear;}intDate::getMonth(){returnmonth;}intDate::

5、getDay(){returnday;}voidDate::setYear(inty){year=y;}voidDate::setMonth(intm){month=m;}voidDate::setDay(intd){day=d;}//exam.cppDate类的测试程序#include#include"date.h"voidmain(){Datek(2000,12,1);cout<

6、数名与类名相同当定义该类的对象时,构造函数将被自动调用以实现对该对象的初始化构造函数不能有返回值,因而不能指定包括void在内的任何返回值类型构造函数既可定义带参,也可义不带参一个类可定义多个构造函数,也可以不定义构造函数,没定义构造函数时,则自动建立一个空的不带参构造函数(默认构造函数)析构函数函数名与类名相同,前有~没有参数,没有返回值在类对象生命期结束时,系统自动调用一个类只可定义一个析构函数,也可以不定义如果在类的对象中分配有动态内存(如:用new申请分配的内容)时,就必须为该类提供适当的析构函数,完成清理工作this指针谁的成员?Datec1,c2;in

7、tDate::getYear(){returnyear;//c1?C2?}this指针C++的非静态成员函数有一个隐含参数X*constthisintDate::getYear(Date*constthis){returnthis->year;}c1.getYear(&c1);例:有理数类的定义#includeclassCRation{longn;//分子longd;//分母public:CRation(long,long);//构造voidPrint();//输出voidGcd();//约分};CRation::CRation(longn

8、,long

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

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

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