面向对象程序设计实验报告(学生)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计

实验报告

计算机学院

张永

南昌航空大学实验报告

二00七年月日

课程名称:面向对象程序设计实验名称:类与结构

班级: XXXXXXX 学生姓名: XXXXXX 学号:

指导教师评定: XX 签名: XXXXX

1、实验目的

·学习掌握声明和定义类及成员。

·学习掌握访问类对象成员。

·学习掌握保护数据如何屏蔽外部访问的原理,更好的认识类的封装

2、实验内容

(1)

定义一个满足下列要求的Date类:

①用下面的格式输出日期:日/月年

②可运行在日期上加一天操作

③设置日期

//Date.h

#include

using namespace std;

class Date{

public:

void Display();

void AddOneDay();

void SetDay(int y,int m,int d);

protected:

bool Legal(int y, int m, int d);

bool IsLeapYear(int y);

int year;

int month;

int day;

};

(2)

定义一个时间类Time,能提供和设置由时、分、秒组成的时间,并编出应用程序,定义时间对象,设置时间,输出该对象提供的时间。并将类定义作为接口,用多文件结构实现之。

//Time.h

class Time

{

public:

Time();

void Print();

void Set(int,int,int); protected:

int min;

int sec;

int hour;

};

南昌航空大学实验报告

二00七年月日

课程名称:面向对象程序设计实验名称:静态成员与友元

班级: XXXXXXX 学生姓名: XXXXXX 学号:

指导教师评定: XX 签名: XXXXX

1、实验目的

·学习友元函数的定义和原理。

·学习静态数据成员和静态成员函数的使用。

·学习静态成员代替全局变量实现对象间的共享。

2、实验内容

(1)有如下类的定义。类成员函数copy用于实现两个对象的相互拷贝,请完成该函数的实现。(有两种方法即不用this 指针和用this指针)

#include

class Myclass

{public:

Myclass (int a,int b) { x=a;y=b;}

void copy(Myclass & my);

void print( )

{ cout<<“x=”<

cout<<”y=”<

}

private:

int x,y;

};

void main()

{Myclass my(10,20),t(30,40);

my.print( );

my. Copy(t);

my.print( );

}

成员函数实现:

#include

class Myclass

{public:

Myclass (int a,int b) { x=a;y=b;}

void copy(Myclass & my);

void print( )

{ cout<<"x="<

cout<<"y="<

}

private:

int x,y;

};

友员函数实现:

#include

class Myclass

{public:

Myclass (int a,int b) { x=a;y=b;}

friend void copy(Myclass &o,Myclass y);

void print( )

{ cout<<"x="<

cout<<"y="<

}

private:

int x,y;

};

(2)商店经销一种货物,货物成箱购进,成箱卖出,购进和卖出时以重量为单位,各箱的重量不一样,单价不一样,因此商店需要记录下目前库存的货物的总重量和总价值。编写一个程序,通过定义类Carlo来模拟商店货物购进和卖出的情况。

(本题目主要练习静态数据成员的使用,定义私有变量存每件货物的价格和重量,用静态数据成员存货物的总重量和总价钱,定义构造函数和析构函数,当定义新的对象完成初始化的功能和删除对象时,从总重量和总价钱中减去对象的重量和价格)

//Menu.h

#ifndef MENU_H

#define MENU_H

class Menu

{ public:

int show();

};

#endif;

// Carlo.h

class Carlo

{public:

Carlo(double Weight = 0,double Price = 0);

virtual ~Carlo();

void SetCarlo(double = 0,double = 0);

const double &GetCurrentTotalWeight() const;

const double &GetCurrentTotalPrice() const;

void BuyBox();

void SellBox();

void ShowBoxInfor() const;

protected:

static double TotalWeight;

static double TotalPrice;

private:

double BoxWeight;

double BoxPrice;

};

//Carlo.cpp

#include

#include "Carlo.h"

using namespace std;

double Carlo::TotalPrice=0.0;

double Carlo::TotalWeight=0.0;

Carlo::Carlo(double Weight, double Price)

{

}

void Carlo::BuyBox()

{

}

const double &Carlo::GetCurrentTotalPrice() const

{ return TotalPrice;

}

const double &Carlo::GetCurrentTotalWeight() const

{ return TotalWeight;

}

void Carlo::SetCarlo(double Weight, double Price)

相关文档
最新文档