2014-09-04 4 views
0

Итак, я прошу в C++, я создаю программу для вычисления площади и периметра треугольника, когда пользователь вводит базу, высоту и стороны. У меня есть 2 класса, область и периметр, мне нужно получить доступ к переменной «база» из области и использовать их в периметре, так как мне нужна база для расчета периметра. Как я могу это сделать? Также было бы более эффективным использовать один класс для этой программы?Как получить доступ к переменным из разных классов?

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

'Район' и' Периметр' не должны быть классами. Если вы пытаетесь выяснить область/периметр треугольника, создайте класс 'Triangle', который имеет функции' area' и 'perimeter'. – 0x499602D2

ответ

2

Вместо создания двух классов создайте класс Triangle.

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

Определить функции. Создайте объекты Треугольника и вызовите функции.

Смежные вопросы