实验5 类与对象的定义与使用
Visual C++控制台应用程序设计
一、实验目的
1、掌握类的定义、对象的创建、成员的访问权限以及访问类成员的方法; 2、掌握构造函数、析构函数、复制构造函数的作用和用法。 二、实验内容
要求:(1)自己独立编写出完整程序,注意书写格式,熟练掌握程序的结构; (2)按照正确的步骤进入vc++环境,在自己创建的工程中录入源程序,消除语法错误,编译、连接程序;
(3)运行程序,输入数据观察结果。
1、1、分析下列程序的运行结果。(构造函数与析构函数的调用过程)
#include
{ 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
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
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( );};