顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


文章 - kiei

頁: [1]
1
不是作業耶

是參加國家考試的題目
我有寫了一個程式,但執行不出來,不知是哪裡寫錯了?
可以麻煩高手指教指教嗎?手邊沒有參考書..xd..

01#include <iostream>
02using namespace std;
03const double pi=3.14159;
04class shape {
05 public:
06  //shape( char *whatis = "shape");
07  virtual int circumference() = 0;
08  virtual int area() = 0;
09}
10class circle : public shape {
11 public:
12  int circumference(int r) {
13   return (int)(2* pi* r);
14  }
15  int area(int r) {
16   return (int)(r*r* pi);
17  }
18}
19class rectangle : public shape {
20 public:
21  int circumference(int L, int W ) {
22   return (int)((L+W)*2);
23  }
24  int area(int L, int W ) {
25   return (int)(L*W);
26  }
27}
28int main(){
29 circle c1;
30 rectangle r1;
31 cout<< "圓週長"<<c1. circumference(6)<<endl;
32 cout<< "圓面積"<<c1.area (6)<<endl;
33 cout<< "方週長"<<c1. circumference(3,4)<<endl;
34 cout<< "方面積"<<c1.area (3,4)<<endl;
35system("pause");
36return 0;
37}

2
C/C++程式設計討論區 / 抽象類別實作介面
« 於: 2012-06-20 16:25 »
請高手指教這個程式碼怎麼寫? 謝謝!!!

題目:
請使用C++撰寫三個類別(class):shape(形狀)、circle(圓形)與rectangle(矩形),其中shape 為抽象類別(abstract class),而circle 與rectangle 為衍生類別(derived class),均繼承shape。請在shape 中定義兩個介面(interface),分別作為運算週長(circumference)與面積(area)的介面,並在circle 與rectangle 中分別實作其功能。

3
Java程式設計討論區 / 抽象類別實作介面
« 於: 2012-06-20 16:15 »
寫了一個java沒有介面的程式, 有沒有高手可以將circu和area改寫成介面的方式實作呢? 感謝!!!

題目:
請使用C++及Java 撰寫三個類別(class):shape(形狀)、circle(圓形)與rectangle(矩形),其中shape 為抽象類別(abstract class),而circle 與rectangle 為衍生類別(derived class),均繼承shape。請在shape 中定義兩個介面(interface),分別作為運算週長(circumference)與面積(area)的介面,並在circle 與rectangle 中分別實作其功能。

abstract class Shape {
  public Shape() {}
  abstract public double circu();
  abstract public double area();
}
class circle extends Shape {
  private double r;     // 圓形半徑
  final static double PI = 3.14159;  // 圓周率常數
  public circle(double r) {
    this.r = r;
  }
  public double circu() {// 計算圓週長
    return 2*PI*r;
  }
  public double area() {// 計算圓面積
    return PI*r*r;
  }
  public String toString() {
    return "半徑:" + r + "==>週長:" + circu() + ",面積:" + area();
  }
}
class rectangle extends Shape {
  private double w;     // 方形寬
  private double h;     // 方形高
  public rectangle(double w, double h) {
    this.w = w;
    this.h = h;
  }
  public double circu() {// 計算方週長
    return 2*(w+h);
  }
  public double area() {// 計算方面積
    return w*h;
  }
  public String toString() {
    return "寬:" + w + ",高:" + h + "==>週長:" + circu() + ",面積:" + area();
  }
}
public class ShapeArea {
  public static void main(String[] argv) {
    circle c1 = new circle(6);
    System.out.println("圓形"+c1.toString());
    rectangle r1 = new rectangle(3,4);
    System.out.println("方形"+r1.toString());
  }
}

頁: [1]