项目1.(1)类的定义 graph.h
#ifndef GRAPH_H
#define GRAPH_H
// 类Graph的声明
class Graph {
public:
Graph(char ch, int n); // 带有参数的构造函数
void draw(); // 绘制图形
private:
char symbol;
int size;
};
#endif
(2)类的实现 graph.cpp
// 类graph的实现
#include "graph.h"
#include <iostream>
using namespace std;
// 带参数的构造函数的实现
Graph::Graph(char ch, int n): symbol(ch), size(n) {
symbol=ch;
size=n;
}
// 成员函数draw()的实现
// 功能:绘制size行,显示字符为symbol的指定图形样式
// size和symbol是类Graph的私有成员数据
void Graph::draw() {
int i,j;
for(i=0;i<size;i++)
{
for(j=1;j<=2*size-1;j++)
{
if(j>=size-i&&j<=size+i)
{
cout<<symbol;
}
else
cout<<" ";
}
cout<<endl;
}
// 补足代码,实现「实验4.pdf」文档中展示的图形样式
}
(3)主函数 main.cpp
#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;
}

2.
//Faction.h
#ifndef FACTION_H
#define FACTION_H
class Faction
{
public:
Faction(); //构造函数
Faction(int t0); //构造函数的重载
Faction(int t0,int b0); //构造函数的重载
void plus(Faction &f2); //加法函数
void minus(Faction &f2); //减法函数
void multiply(Faction &f2); //乘法函数
void divide(Faction &f2); //除法函数
void compare(Faction &f2); //比较大小函数
void show(); //输出函数
private:
int top; //分子
int bottom; //分母
};
#endif
//Faction.cpp
#include "Faction.h"
#include <iostream>
using namespace std;
//构造函数
Faction::Faction():top(0), bottom(1) {
}
//构造函数的重载
Faction::Faction(int t0):top(t0), bottom(1) {
}
//构造函数的重载
Faction::Faction(int t0,int b0):top(t0), bottom(b0){
}
//加法函数
void Faction::plus(Faction &f1){
Faction f2;
f2.top = top * f1.bottom + f1.top*bottom;
f2.bottom = bottom * f1.bottom;
f2.show();
}
//减法函数
void Faction::minus(Faction &f1){
Faction f2;
f2.top = top * f1.bottom - f1.top*bottom;
f2.bottom = bottom * f1.bottom;
f2.show();
}
//乘法函数
void Faction::multiply(Faction &f1){
Faction f2;
f2.top =top*f1.top;
f2.bottom =bottom*f1.bottom;
f2.show();
}
//除法函数
void Faction::divide(Faction &f1) {
Faction f2;
f2.top =top*f1.bottom;
f2.bottom = bottom * f1.top;
f2.show();
}
//输出函数
void Faction::show(){
cout << top << "/" << bottom <<endl;
}
//比较大小函数
void Faction::compare(Faction &f1) {
Faction f2;
f2.top = top * f1.bottom - f1.top*bottom;
f2.bottom = bottom * f1.bottom;
if(f2.bottom*f2.top > 0){
cout << top << "/" << bottom << ">" << f1.top << "/" << f1.bottom <<endl;
}
else {
cout << top << "/" << bottom << "<=" << f1.top << "/" << f1.bottom <<endl;
}
}
#include <iostream>
#include "Faction.h"
using namespace std;
int main() {
Faction a;
Faction b(3,4);
Faction c(5);
a.show();
b.show();
c.show();
b.plus(c);
b.minus(c);
b.multiply(c);
b.divide(c);
b.compare(c);
return 0;
}
运行截图

这次的实验涉及的知识点比较多,在写的时候遇到了一些难题。我的程序中还有一些小错误(解决不了唉 o(╯□╰)o ),希望各位同学指正。
来源:https://www.cnblogs.com/baiyixin/p/8922347.html