三、实验内容 1. 练习将 C++程序以项目文件组织的多文件结构方式编写 将实验 3 中的 4-20 以多文件结构方式重写
2. 基于已有信息,补足并扩充程序,体会面向对象编程与结构化编程思维的不同。 在 graph 文件夹里提供有三个文件 文件 文件内容说明 graph.h 类 Graph 的声明 graph.cpp 类 Graph 的实现 main.cpp 类 Graph 的测试:定义 Graph 类的对象,调用 public 接口绘制图形 要求如下: (1)新建一个项目,添加以上三个文件到项目中。 (2)补足 graph.cpp 中类的成员函数 draw()的实现,使得在 main()中对类的测试能够实 现以下显示效果: 代
1.
2,思路:假定有n行,第i行首先显示空格为n-i,然后显示2i-1个符号,再显示n-i个空格
#include <iostream>
#include "graph.h"
using namespace std;
int main() {
Graph graph1('*',5), graph2('$',7) ; // 定义Graph类对象graph1, graph2
graph1.draw(); // 通过对象graph1调用公共接口draw()在屏幕上绘制图形
graph2.draw(); // 通过对象graph2调用公共接口draw()在屏幕上绘制图形
return 0;
}
#ifndef GRAPH_H
#define GRAPH_H
// 类Graph的声明
class Graph {
public:
Graph(char ch, int n); // 带有参数的构造函数
void draw(); // 绘制图形
private:
char symbol;
int size;
};
#endif
类graph的实现
/include/<iostream>
#include "graph.h"
#include <iostream>
using namespace std;
Graph::Graph(char s,int l)
// 带参数的构造函数的实现
Graph::Graph(char ch, int n): symbol(ch), size(n) {
}
// 成员函数draw()的实现
// 功能:绘制size行,显示字符为symbol的指定图形样式
// size和symbol是类Graph的私有成员数据
void Graph::draw() {
int i;
for(i=1;i<=size;i++){
int t=size-i;
int j;
for(j=1;j<=t;j++)
cout<<" ";
for(j=1;j<=2*i-1;j++)
cout<<symbol;
for(j=1;j<=t;j++)
cout<<" ";
cout<<endl;
}
// 补足代码,实现「实验4.pdf」文档中展示的图形样式
}