#include"Graphics.h" #pragma warning(disable:4996) Graphics::Graphics(int n):size(n) { } Triangle::Triangle(int n):Graphics(n) { } void Triangle::construction() { cout<<"三角形为:"<<endl; int i,j; //begin //end } Rectangle::Rectangle(int n):Graphics(n) { } void Rectangle::construction() { cout<<"矩形为:"<<endl; int i,j; for(i=0;i<size;i++){ for(j=0;j<size;j++) if(i==0||i==size-1||j==0||j==size-1) // 输出边界的* cout<<'*'<<' '; // 输出内部空格 else cout<<' '<<' '; cout<<endl; } cout<<"END."; }写出缺少部分
时间: 2024-03-01 18:56:03 浏览: 69
这段代码缺少了一些头文件和命名空间的声明,同时也没有完整的 main 函数。以下是完整的代码示例:
```c++
#include <iostream>
using namespace std;
class Graphics {
protected:
int size;
public:
Graphics(int n): size(n) {}
virtual void construction() = 0;
};
class Triangle: public Graphics {
public:
Triangle(int n): Graphics(n) {}
void construction() {
cout << "三角形为:" << endl;
int i, j;
// TODO: 输出三角形
}
};
class Rectangle: public Graphics {
public:
Rectangle(int n): Graphics(n) {}
void construction() {
cout << "矩形为:" << endl;
int i, j;
for(i = 0; i < size; i++) {
for(j = 0; j < size; j++) {
if(i == 0 || i == size - 1 || j == 0 || j == size - 1) {
cout << '*' << ' '; // 输出边界的*
} else {
cout << ' ' << ' '; // 输出内部空格
}
}
cout << endl;
}
cout << "END.";
}
};
int main() {
Graphics* g1 = new Triangle(5);
g1->construction();
delete g1;
Graphics* g2 = new Rectangle(5);
g2->construction();
delete g2;
return 0;
}
```
这段代码定义了一个基类 `Graphics`,和两个派生类 `Triangle` 和 `Rectangle`,分别用于构造三角形和矩形。其中,`Graphics` 是一个抽象类,具有一个纯虚函数 `construction()`,用于输出图形。在 `main` 函数中,分别创建了 `Triangle` 和 `Rectangle` 的对象,并调用了它们的 `construction()` 函数,输出相应的图形。
阅读全文