2014-09-04 28 views
0

所以我在C++中乞求,我做了一個程序來計算三角形的面積和周長,當用戶輸入底座,高度和側面時。我有2個類,Area和Perimeter,我需要從Area中訪問變量「base」,並在Perimeter中使用它們,因爲我需要基礎來計算周長。我怎樣才能做到這一點?使用這個程序的一個類也會更有效率嗎?如何訪問不同類別的變量?

Area.h

#ifndef AREA_H 
#define AREA_H 
#include <iostream> 
using namespace std; 


class Area 
{ 
    private: 
     int height; 
    public: 
     int base; 
     Area(); 
     int calcArea(); 


}; 

#endif // AREA_H 

Area.cpp

#include "Area.h" 
#include <iostream> 
using namespace std; 

Area::Area() 
{ 
    cin >> base; 
    cin >> height; 
}; 

int Area::calcArea(){ 
int answer; 
answer = (base * height)/2; 
return answer; 

} 

Perimeter.h

#ifndef PERIMETER_H 
#define PERIMETER_H 
#include "Area.h" 
#include <iostream> 
using namespace std; 

class Perimeter 
{ 
    private: 
     int s1; 
     int s2; 
    public: 
     Perimeter(); 
     int calcP(); 


}; 

#endif // PERIMETER_H 

Perimeter.cpp

#include "Perimeter.h" 
#include "Area.h" 
#include <iostream> 
using namespace std; 
Perimeter::Perimeter() 
{ 
    cin >> s1; 
    cin >> s2; 


} 

int Perimeter:: calcP(){ 
    int answer; 
    answer = s1 + s2 + base ; 
    return answer; 


} 
+3

'Area'和'Perimeter'不應該是類。如果您正在嘗試計算三角形的面積/周長,請創建一個具有「面積」和「周長」成員函數的「三角形」類。 – 0x499602D2 2014-09-04 04:44:49

回答

2

而不是創建兩個類,創建一個類三角形。

class Triangle 
    { 
     private: 
      int base; 
      int height; 
     public: 
      Triangle(); 
      int CalculatePerimeter(); 
      int CalculateArea(); 
    }; 

定義函數。 創建三角形的對象並調用函數。