C++ 实验5 类与对象的定义与使用 下载本文

实验5 类与对象的定义与使用

Visual C++控制台应用程序设计

一、实验目的

1、掌握类的定义、对象的创建、成员的访问权限以及访问类成员的方法; 2、掌握构造函数、析构函数、复制构造函数的作用和用法。 二、实验内容

要求:(1)自己独立编写出完整程序,注意书写格式,熟练掌握程序的结构; (2)按照正确的步骤进入vc++环境,在自己创建的工程中录入源程序,消除语法错误,编译、连接程序;

(3)运行程序,输入数据观察结果。

1、1、分析下列程序的运行结果。(构造函数与析构函数的调用过程)

#include using namespace std; class A

{ public:A(); A(int i,int j); ~A(){cout<<\ void print(); private: int a,b;};

A::A( ) {a=b=10;cout<<\A::A(int i,int j) { a=i,b=j;cout<<\void A::print( ){cout<<\

void main( ){ A m; A n(15,18); m.print( ); n.print( );}

2、分析下列程序的运行结果。(复制构造函数的调用) #include using namespace std; class Ratio { int num,den; Public:

Ratio(){cout<<”constructor called\\n;”}

Ratio(Ratio &r){cout<<”copy constructor called\\n;”} ~Ratio(){cout<<”destructor called\\n;”}}; int main( ) { Ratio x;

{ Ratio y; cout<<”now y is a live\\n;”;} cout<<”now between block\\n”;

{ Ratio z(x); cout<<”now z is a live\\n;”;} return 0;}

分析下列程序的运行结果。(引用作为形参)

#include using namespace std;

void swap(double & d1, double & d2){ double temp ;

temp=d1 ; d1=d2 ; d2=temp ; } int main(void){

double x , y ;

cout<<\请输入x和y的值\ cin>>x>>y ; swap(x,y) ;

cout<<\ return 0; }

4、构造一个日期时间类(Timedate),数据成员包括年、月、日和时、分、秒,

函数成员包括设置日期时间和输出时间,其中年、月请用枚举类型,并完成测试。(包括用成员函数和用普通函数) 注:程序参考“第四章习题答案” 5、定义一个圆类(Circle),属性为半径(radius)、圆周长和面积,操作为输入半径并计算周长、面积,输出半径、周长和面积。要求定义构造函数(以半径为参数,缺省值为0,周长和面积在构造函数中生成)和拷贝构造函数。 注:程序参考“第四章习题答案”

6、建立一个分数类,分数类的数据成员包括分子和分母,操作包括加、减、乘、除、求倒数、显示和输入。分数类的定义如下: Class fraction{ Int above; Int below;

Public: fraction(int=0,int=1); //构造函数 fraction add(fraction); fraction sub(fraction); fraction mul(fraction); fraction div(fraction); fraction reciprocal( ); void display( );

void input( );};