第十一章 面向对象程序设计实验指导20110427.doc

第十一章 面向对象程序设计实验指导20110427.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文档发表日期:2011-04-14 最近修改日期:2011-04-27 《面向对象程序设计》实验任务及指导 目录 一、实验1:熟悉实验环境 二、实验2:数据抽象 三、实验3:继承与多态性 三、实验4:重载和I/O流及面向对象程序设计 一、实验1:熟悉实验环境 【实验目的】 熟悉Visual C++6.0开发环境。 掌握多文件结构程序项目的建立过程。 初步掌握面向对象程序的多文件结构项目的开发运行步骤。 【实验内容】 1、学习多文件结构程序项目的建立过程,观看、体会演示。 2、下面的程序在编译时会出错,请修改程序,使之能正确运行。 #includeiostream using namespace std; class MyClass { public: MyClass() { x=0;y=0; } MyClass(int a = 0, b = 0); Print(); private: int x, y; }; MyClass::MyClass(int a = 0, int b =0) { x = a; y = b; } void MyClass::Print() { cout x = x endl; cout y = y endl; } int main() { MyClass obj1,obj2(5,8); obj1.x =1; obj1.y =3; obj1.Print(); obj2.Print(); return 0; } 3、将任务2得到的正确程序分成3个文件。文件MyClass.h包括类的定义,文件MyClass.cpp包括类成员函数的实现,文件App.cpp包括类的使用。调试、运行该程序,使之获得正确结果。 【实验指导】 1、头文件中通常包含常量、类型、函数原型的定义。类是用户定义的类型,故将类的定义放在头文件中。函数的定义即函数的实现应放在实现文件.cpp文件中。这样的安排体现了信息隐藏和模块化。将类成员函数的实现和类的使用放在不同的cpp文件中,可将类的实现与类的使用分离,体现了对接口编程的思想。 2、文件MyClass.h中的结构 #includeiostream using namespace std; // MyClass的定义 文件MyClass.cpp中的结构 #include “MyClass.h” // MyClass成员函数的定义 文件App.cpp中的结构 #include “MyClass.h” // main函数的定义 3、避免头文件内容被重复引入。头文件内容被重复引入会导致标识符重复定义的错误。用预编译条件指令来限制头文件内容的引入。例如: #ifndef MYCLASS #define MYCLASS // 头文件的内容 #endif 二、实验2:数据抽象 【实验目的】 掌握类的定义和使用以及类对象的声明和使用方法,理解具有不同访问属性的成员的访问方式。 掌握构造函数和析构函数的作用和编写方法。 了解并掌握静态成员、常成员的使用。 【实验内容】 1、下面程序中定义了一个整型动态数组,编写了3个构造函数。 #includeiostream using namespace std; class IntArray { public: IntArray(int sz); // 数组初始化为sz个元素,初值全为0 IntArray( int *array, int sz ) ; // 用静态数组array的前sz个元素初始化新数组 IntArray( const IntArray rhs ) ; // 拷贝构造函数 void printAll(); private: int *ia; int size; }; IntArray::IntArray( int sz ) { size = sz; // 设置数据成员 ia = new int[ size ]; for ( int ix=0; ix size; ++ix ) ia[ix] = 0; // 初始化数组元素 } IntArray:: IntArray( int *array, int sz ) { size = sz; // 设置数据成员 ia = new int[ size ]; for ( int ix=0; ix size; ++ix ) ia[ix ] = array[ ix ]; // 拷贝

文档评论(0)

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

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

1亿VIP精品文档

相关文档