网站大量收购独家精品文档,联系QQ:2885784924

实验湘南学院C.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验湘南学院C

实验四 类的应用实验 实施时间:2012-11-7、2012-11-14(周三) 实验类型:综合(4学时) 一、实验目的 1、掌握类的定义方法,类成员的访问控制权限。 2、掌握构造函数与析构函数的定义及使用方法。 3、掌握类的继承与派生类关系以及实现方法,理解类的层次结构。 4、掌握复制构造函数的定义及使用方法。 5、掌握对象数组和对象指针的应用。 二、预备知识: 1.类的声明形式为: class 类名{ public: 公有数据和函数 //允许程序中的所有函数访问 private: 私有数据和函数 //除该类的成员函数外其他函数无法访问 protected: 受保护数据和函数 //允许该类的派生类中的成员函数访问 }; ·完整的类应由类的定义头文件*.hpp和类的实现文件*.cpp构成,这样结构清晰整洁。 ·应注意:必须在实现文件*.cpp开始包含头文件*.hpp,此定义才有效。 ·通常在类定义中,成员函数仅作声明。函数定义通常在类的说明之后进行,其格式如下:返回值类型 类名::函数名(参数表) {……}//函数体 “::”称为作用域解析运算符,它指出该函数是属于哪一个类的成员函数。 2.对象:类的对象是该类的某一特定实体,即类类型的变量。 ?声明形式: 类名 对象名; ?对象初始化:C++建立和初始化对象的过程专门由该类的构造函数来完成。 3.对象使用规则: 只要在对象名后加点操作符,再加上成员数据或成员函数名就可以了。但是这些成员必须是公有的成员,只有公有成员才能在对象的外面对它进行访问。 4. C++规定: ?与类同名的成员函数称为该类的“构造函数(constructor)”。 ?构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态。 ?在对象创建时由系统自动调用。 ?如果程序中未声明,则系统自动产生出一个默认形式的构造函数。但是默认形式的构造函数并不做任何初始化工作,所以在建立该类的对象时不能确保有一个确定的初始状态。 ?可重载构造函数以便用各种方法初始化类的对象。 注意:构造函数的名字必须与类名相同,并且在定义构造函数时不能指定返回类型,函数体中也不允许返回值,但可以有无值返回语句“return”。 5. C++规定: ?和类同名但前面加上字符“~”的函数称为类的“析构函数(destructor)”。 ?析构函数的作用:完成对象被删除前的一些清理工作。在对象的生存期结束的时刻系统 自动调用它,然后再释放此对象所属的空间。(即在系统收回类的对象所占用的内存空 间前,析构函数用来完成一些清理工作) ?如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数。 ?析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用。 ?一个类只能有一个析构函数。重载析构函数是不允许的。 ?析构函数以调用函数相反的顺序被调用。 6.调用析构函数和构造函数的时机 ?析构函数合构造函数通常是被自动调用的。调用这些函数的顺序取决于建立合撤消对象的顺序。一般来说,调用析构函数的顺序于调用构造函数的顺序相反。但是,对象的生命期能够改变调用析构函数的顺序。 ①析构函数与构造函数调用顺序相反; ②所有全局对象都在主函数main()之前被构造,其相应的析构函数在程序终止时被调用; ③自动存储类别的局部对象,其构造函数是在声明该对象的时候被调用的,相应的析构函数在程序退出该对象的作用域时(即程序退出声明该对象的程序块的时候)被调用; ④静态局部对象的构造函数只在声明该对象的时候调用一次,相应的析构函数在程序终止时被调用。 三、实验内容 1.定义一个圆类Circle,属性为半径Radius、圆周长circum和面积area,操作为输入设置半径并计算周长、面积,输出半径、周长和面积。并且要求定义构造函数(以半径为参数,默认值为0)、复制构造函数和析构函数。 2.通过继承圆类Circle,派生得到球体类Sphere、圆柱体类Cylinder、圆锥体类Cone,分别求出各自的表面积和体积。建立主函数测试程序。 3.编程:建立用于完成复数算数运算的类Complex。复数类的数据成员包括实部和虚部,操作包括加、减、显示输出。复数类的定义如下: 4.编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、加、减、乘、除、求倒数、比较、显示和输入。分数类的定义如下: 4 1

文档评论(0)

ipad0d + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档