- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)