主要仪器设备及耗材
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()