C++类和对象.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C++语言是C的扩充 扩充 C 语言 ? C++ 语言 扩充的目的: 支持面向对象程序设计 扩充的功能: 类定义 消息传递(类似函数调用) 继承、虚函数 对象与封装 对象 ? 相对独立的实体 具有表示其状态、特征的属性 具有表示其行为、功能的操作 封装性:只有自身操作可访问对象属性 面向对象方法 将分析、设计的系统和程序都抽象为对象组成的模型 面向对象程序设计 运行中程序实例 = 若干对象实例 + 交互控制 程序 = 若干对象类(用于描述各种对象) 对象类 = 程序模块 C++程序 = 主函数(main) + 若干类定义 类 C++的类是把各种不同类型的数据(称为数据成员)和对数据的操作(成员函数)组织在一起而形成的用户自定义的数据类型。 C++中,类定义包括类说明和类实现两大部分。说明部分提供了对该类所有数据成员和成员函数的描述,而实现部分提供了所有成员函数的实现代码。 类的定义 ***.h class 类名 { 数据成员的说明 public: 方法成员的说明 }; 说明: 类名由用户自己定,一般首字母大写 默认是private,只有类中的成员函数才能访问 注意:类定义的末尾有一分号 注意:不能在类定义中对数据成员进行初始化 class Location{ int x=25,y; //ERROR }; // date.h类的定义 class Date { int year,month,day; public: Date(int y,int m,int d); void setYear(int y) ; void setMonth(int m) ; void setDay(int d) ; int getYear( ); int getMonth( ); int getDay( ); } ; 成员函数的定义 1、将成员函数的定义直接写在类中 适合于成员函数规模较小的情况(内联函数) 2、在类的定义体中只写出成员函数的原型说明,而成员函数的定义之后再写 通常将类的定义写在一个头文件(.h文件)中,成员函数的定义写在一个程序文件(.cpp文件)中 一般形式: 返回类型 类名::成员函数名(参数说明) {类体 } //date.cpp 实现部分 #include date.h Date:: Date(int y,int m,int d) { year=y;month=m;day=d; } int Date::getYear( ) { return year; } int Date::getMonth( ) { return month; } int Date::getDay( ) { return day; } void Date::setYear(int y ) { year=y; } void Date::setMonth(int m ) { month=m; } void Date::setDay(int d ) { day=d; } //exam.cpp Date类的测试程序 #include iostream.h #include date.h void main() { Date k(2000,12,1); coutk.getMonth()endl; } 对象创建时,为数据成员分配存储空间 调用类的构造函数 对象生命周期结束时,调用类的析构函数 构造函数 是一种特殊的成员函数,函数名与类名相同 当定义该类的对象时,构造函数将被自动调用以实现对该对象的初始化 构造函数不能有返回值,因而不能指定包括void在内的任何返回值类型 构造函数既可定义带参,也可义不带参 一个类可定义多个构造函数,也可以不定义构造函数,没定义构造函数时,则自动建立一个空的不带参构造函数(默认构造函数) 析构函数 函数名与类名相同,前有~ 没有参数,没有返回值 在类对象生命期结束时,系统自动调用 一个类只可定义一个析构函数,也可以不定义 如果在类的对象中分配有动态内存(如:用new申请分配的内容)时,就必须为该类提供适当的析构函数,完成清理工作 this指针 谁的成员? Date c1,c2; int Date::getYear( ) { return year; //c1 ? C2? } this指针 int Date::getYear(Date *const this) { return this- year; } CRation::CRation( long n, long d ) { // 对象创建时被

文档评论(0)

企管文库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档