实验4
#include <iostream> using namespace std;
//类的定义graph.h
class Graph{ public: Graph(char c,int m); void draw(); private: char ch;int n; }; Graph::Graph(char c,int m){ //类的实现graph.cpp ch=c;n=m; } void Graph::draw(){ for(int l=1;l<=n;l++) { for(int j=1;j<n-l+1;j++) cout<<" "; for(int k=1;k<=2*l-1;k++) cout<<ch; cout<<endl; } } int main() //main.cpp { Graph Graph1('*',5); Graph1.draw(); Graph Graph2('$',7); Graph2.draw(); }

#include <iostream> using namespace std; class Fraction{ public: Fraction(int t,int b); double get(){ double m; m=(double)top/(double)bottom; return m ; } private: int top; int bottom; }; Fraction::Fraction(int t,int b){ top=t;bottom=b; } class FractionOperation{ // 组合类 private: Fraction f1,f2; public: FractionOperation(Fraction xf1,Fraction xf2); double add() {cout<<(f1.get()+f2.get());} double sub() {cout<<f1.get()-f2.get();} double mul() {cout<<f1.get()*f2.get();} double div() {cout<<f1.get()/f2.get();} void compare() { if(f1.get()-f2.get()>0) cout<<"前者大于后者"<<endl; if(f1.get()-f2.get()<0) cout<<"前者小于后者"<<endl; } }; FractionOperation::FractionOperation(Fraction xf1,Fraction xf2):f1(xf1),f2(xf2){ f1=xf1;f2=xf2; } int main() //main.cpp文件中 { Fraction f1(3,4);Fraction f2(5,4); FractionOperation FractionOperation1(f1,f2); FractionOperation1.add();cout<<endl; FractionOperation1.sub();cout<<endl; FractionOperation1.mul();cout<<endl; FractionOperation1.div();cout<<endl; FractionOperation1.compare(); double x=f1.get();cout<<x<<endl; double y=f2.get();cout<<y<<endl; return 0; }

总结:
分文件插入改为注释了,效果差不多。本次实验感觉做得有点吃力,花了很长时间勉强运行出结果,第一题比较简单,用到之前看过的常数易变法分析一下就行了。关键第二题用到组合类的知识,有点不太熟悉。编程的时候会经常出现一些问题,反复调试检查才能发现。
浙公网安备 33010602011771号