
谁能帮我做下着个C++题 20
声明一个基类shapes,其中含有protected类型的数据成员x、y和z以及s(数据类型为char),x和y代表矩形的长和宽,z代表正三角形的边长,s表示打印符号,成...
声明一个基类shapes,其中含有protected类型的数据成员x、y和z以及s(数据类型为char), x和y代表矩形的长和宽,z代表正三角形的边长,s表示打印符号,成员函数setrectangle()用来设置数据成员x、y和s的初值,函数settriangle ()用来设置数据成员z和s的初值,定义show()为纯虚函数。
声明类rectangle及triangle类为shapes类的派生类,成员函数函数show()分别用来显示矩形和正三角形的形状。
编写main()函数实现如下功能:
定义指向基类的指针数组p[2]
分别定义一个矩形对象和三角形对象
p[0]指向矩形对象,调用setrectangle()函数,设置矩形的x、y和s的值,其中x的值为4,y的值为6,s的值由用户输入,调用show()显示矩形
p[1]指向三角形对象,调用settriangle ()函数,设置正三角形的边长的z和s的值,其中r的值为5,s的值由用户输入,调用show()显示正三角形
程序运行结果如下:
输入打印符号为“$”
输入打印符号为“#” 展开
声明类rectangle及triangle类为shapes类的派生类,成员函数函数show()分别用来显示矩形和正三角形的形状。
编写main()函数实现如下功能:
定义指向基类的指针数组p[2]
分别定义一个矩形对象和三角形对象
p[0]指向矩形对象,调用setrectangle()函数,设置矩形的x、y和s的值,其中x的值为4,y的值为6,s的值由用户输入,调用show()显示矩形
p[1]指向三角形对象,调用settriangle ()函数,设置正三角形的边长的z和s的值,其中r的值为5,s的值由用户输入,调用show()显示正三角形
程序运行结果如下:
输入打印符号为“$”
输入打印符号为“#” 展开
展开全部
#include "stdafx.h"
#include <iostream>
using namespace std;
class Shape
{
public:
void setrectangle(double newX, double newY, char newS)
{
x = newX;
y = newY;
s = newS;
}
void settriangle(double newZ, char newS)
{
z = newZ;
s = newS;
}
virtual void show() const = 0;
protected:
double x;
double y;
double z;
char s;
};
class Rectangle : public Shape
{
public:
void show() const
{
cout << s << endl;
}
};
class Triangle : public Shape
{
public:
void show() const
{
cout << s<< endl;
}
};
int main()
{
char s;
Shape* pArr[2];
pArr[0] = new Rectangle;
pArr[1] = new Triangle;
cout << "Input a letter for rectangle: ";
cin >> s;
pArr[0]->setrectangle(4,6,s);
pArr[0]->show();
cout << "Input a letter for triangle: ";
cin >> s;
pArr[1]->settriangle(5,s);
pArr[1]->show();
delete pArr[0];
delete pArr[1];
return 0;
}
#include <iostream>
using namespace std;
class Shape
{
public:
void setrectangle(double newX, double newY, char newS)
{
x = newX;
y = newY;
s = newS;
}
void settriangle(double newZ, char newS)
{
z = newZ;
s = newS;
}
virtual void show() const = 0;
protected:
double x;
double y;
double z;
char s;
};
class Rectangle : public Shape
{
public:
void show() const
{
cout << s << endl;
}
};
class Triangle : public Shape
{
public:
void show() const
{
cout << s<< endl;
}
};
int main()
{
char s;
Shape* pArr[2];
pArr[0] = new Rectangle;
pArr[1] = new Triangle;
cout << "Input a letter for rectangle: ";
cin >> s;
pArr[0]->setrectangle(4,6,s);
pArr[0]->show();
cout << "Input a letter for triangle: ";
cin >> s;
pArr[1]->settriangle(5,s);
pArr[1]->show();
delete pArr[0];
delete pArr[1];
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询