武汉理工大学 面向对象程序设计课内实验

该博客详细介绍了武汉理工大学面向对象程序设计课程的实验内容,包括类的设计与对象使用、继承性实现、多态性实现和模板及I/O管理。通过实例展示了如何处理类的定义、构造函数、析构函数、继承、多态以及模板的运用,并提供了各种程序的运行结果。
摘要由CSDN通过智能技术生成


主要仪器设备及耗材

1.安装了Windows 10操作系统的PC机1台
2.PC机系统上安装了Microsoft Visual Studio 2019开发环境


以下是本篇文章正文内容,下面案例可供参考

一、类的设计与对象使用

问题描述

1.下面的程序在编译时会出错,请修改程序,使之能正确运行。然后得到的正确程序分成3个文件。文件MyClass.h包括类的定义,文件MyClass.cpp包括类成员函数的实现,文件App.cpp包括类的使用。调试、运行该程序,使之获得正确结果。

#include<iostream>   
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;
}

2.已知两个矩形的长和宽,用面向对象的概念编程求它们的面积和周长。假设矩形 1 的长和宽分别为 20 和 50;矩形 2 的长和宽分别为 3.6 和 4.5。(先定义矩形类再实例化两个对象)

3.下面程序中定义了一个整型动态数组,编写了3个构造函数。

#include<iostream>  
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 ];    // 拷贝数据成员
}
IntArray:: IntArray( const IntArray &rhs ) 
{
    
   size = rhs.size; 
   ia = new int[ size ]; 
   for (int ix = 0; ix < size; ix++ ) 
       ia[ ix ] = rhs.ia[ ix ]; 
}
void IntArray::printAll()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值