二级-类和对象.ppt

  1. 1、本文档共103页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二级-类和对象.ppt

* 如果构造函数有3个参数,分别代表学号、年龄、成绩。则可以这样定义对象数组: Student Stud[3]= {//定义对象数组 Student(1001,18,87), Student(1002,19,76), Student(1003,18,72) }; 在建立对象数组时,分别调用构造函数,对每个元素初始化。每一个元素的实参分别用括号包起来,对应构造函数的一组形参,不会混淆。 * 例6 对象数组的使用方法。 #include iostream using namespace std; class Box {public: Box(int h=10,int w=12,int len=15): height(h),width(w),length(len){ } //声明有默认参数的构造函数,用参数初始化表对数据成员初始化 int volume( ); private: int height; int width; * int length; }; int Box∷volume( ) {return(height*width*length);} int main( ) { Box a[3]={ //定义对象数组 Box(10,12,15), Box(15,18,20), Box(16,20,26)}; cout″volume of a[0] is ″a[0].volume( )endl; cout″volume of a[1] is ″a[1].volume( )endl; cout″volume of a[2] is ″a[2].volume( )endl; } * 【考点十】 成员对象 类的数据成员可以是简单类型或自定义类型,也可以是类类型的对象。 因此,可以利用已定义的类来构成新的类,使得一些复杂的类可以由一些简单类组合而成。类的聚集,描述的就是一个类内嵌其他类的对象作为成员的情况。当一个类的成员是另外一个类的对象时,该对象就称为成员对象。 * 当类中出现了成员对象时,该类的构造函数要包含对成员对象的初始化,通常采用成员初始化列表的方法来初始化成员对象。定义的一般格式如下: <类名>::<类名>(<总形参表>):<成员对象1>(<形参表1>),<成员对象2>(<形参表2<),…{//类成员的初始化} * #includeiostream using namespace std; class Date {??public: ?Date( ){ coutThis is Dateendl; }????? ?Date(int A) { coutThe value=Aendl; }; class Time {?? ???public: ??? Time( ) {coutThis is Timeendl;?? ??? Time(int A):d2( A )? {??coutHello!endl } ???private: ?? Date d1 , d2;? }; * void main( ) ? { ???? Time t1, t2(6);?? //注释1 ?????coutThe endendl; ? } * 建立一个类的对象时,要调用它的构造函数。如果这个类有成员对象,要首先执行所有的成员对象的构造函数,当全部成员对象的初始化都完成之后,再执行当前类的构造函数体。 析构函数的执行顺序与构造函数的执行顺序相反。当类中有多个成员对象时,要按照定义成员对象的顺序建立各个子对象,即成员对象构造函数的执行顺序仅与成员对象在类中声明的顺序有关,而与成员初始化列表中给出的成员对象的顺序无关。 * 如果在构造函数的成员初始化列表中没有给出对成员对象的初始化,则表示使用成员对象的缺省构造函数。如果成员对象所在的类没有缺省构造函数,将产生错误。如果所有的成员对象都是调用缺省构造函数建立的,那么该类的构造函数的成员初始化列表可以省略。 * * Member of B0 * * * * * * * * * * * * * * * * * * * * * * * * * * * 例11 静态成员函数的应用。 #include iostream using namespace std; class Student //定义Student类 {public: Student(int n,int a,

文档评论(0)

5566www + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档