1. 程式人生 > >實驗4 類與對象2

實驗4 類與對象2

圖形 lse OS info size AC 函數 div com

1.實驗內容2

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

graph.cpp

// 類graph的實現
#include "graph.h" 
#include <iostream>
using
namespace std; // 帶參數的構造函數的實現 Graph::Graph(char ch, int 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; } }

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.實驗內容3

Fraction.h

class Fraction {
public:
    Fraction();            
    Fraction(int x, int y);
    Fraction(int x);                  
    void p(Fraction &f1);//加法 
    void q(Fraction &f1);//減法 
    void r(Fraction &f1);//乘法 
    void t(Fraction &f1);//除法 
    void o(Fraction f1, Fraction f2);//比較大小 
    void s();//輸出 
private:
    int top; 
    int bottom;   
};

Fraction.cpp

#include<iostream>
#include"Fraction.h"
using namespace std;
Fraction::Fraction() {      
    top = 0; bottom = 1;
}
Fraction::Fraction(int x, int y) { 
    top = x; bottom = y;
}
Fraction::Fraction(int x) {        
    top = x; bottom = 1;
}
void Fraction::p(Fraction &f1) {   //加法 
     Fraction f2;
     f2.top = top * f1.bottom + f1.top*bottom;
     f2.bottom = bottom * f1.bottom;
     f2.s();
}
 void Fraction::q(Fraction &f1) {  //減法 
     Fraction f2;
     f2.top = top * f1.bottom - f1.top*bottom;
     f2.bottom = bottom * f1.bottom;
     f2.s();
 }
 void Fraction::r(Fraction &f1) {  //乘法 
     Fraction f2;
     f2.top =top*f1.top;
     f2.bottom =bottom*f1.bottom;
     f2.s();
 }
 void Fraction::t(Fraction &f1) {  //除法 
     Fraction f2;
     f2.top =top*f1.bottom;
     f2.bottom = bottom * f1.top;
     f2.s();
 }
 void Fraction::o(Fraction f1, Fraction f2)//比較大小 
 {
     float a = float(f1.top) / float(f1.bottom); float b = float(f2.top) / float(f2.bottom);
     if (a<b)
     {
         cout<<f1.top<<"/"<<f1.bottom<<"<";
         f2.s();
         cout<<endl;
     }
    else if (a>b)
      {
          cout<<f1.top<<"/"<<f1.bottom<<">";
          f2.s();
          cout<<endl;
      }
    else if (a=b)
      {
          cout<<f1.top<<"/"<<f1.bottom<< "=";
          f2.s();
          cout<<endl;
      }  
  } 
  void Fraction::s(){  //輸出 
      cout<<top<<"/"<<bottom<<endl;
  }

main.cpp

#include<iostream>
#include"Fraction.h"
using namespace std;
int main()
{
    Fraction a;
    Fraction b(3,4);
    Fraction c(5);
    a.s();
    b.s();
    c.s();
    Fraction d(1,3);
    Fraction e(2,3);
    d.p(e);
    d.q(e);
    d.r(e);
    d.t(e);
    a.o(d,e);
    return 0;
}

截圖

技術分享圖片

實驗4 類與對象2