Логарифм - Исключения[C++]

Написал программу подсчитывает логарифм вида lg(2*c-a)+d-152)/(a/4+c) и обрабатывает возможные исключительные ситуации по следующему заданию. Какие буду замечание к программе, что стоит переделать в программе и т.д. 1. Описание класса: Переменные - операнды выражения; конструкторы; методы установления значений объекта, вычисления выражения, выведения объекта 2. Задание - Создать массив объектов; вычислить выражение для каждого объекта, вывести результат.Код программы:
//Logarifm.h
class Logarifm
{
private:
 ****** a;
 ****** c;
 ****** d;
 ****** F;
public:
 Logarifm(****** a1, ****** c1, ****** d1);
 ~Logarifm();
 ****** Function();
};

//.cpp
#include "stdafx.h"
#include <iostream>
#include "Logarifm.h"
#include <math.h>

using namespace std;

Logarifm::Logarifm(****** a1, ****** c1, ****** d1)
{
 a = a1;
 c = c1;
 d = d1;
}

Logarifm::~Logarifm()
{}

****** Logarifm::Function()
{
 try
 {
 cout <<"a :" << a <<"\n";
 cout <<"c :" << c <<"\n";
 cout <<"d :" << d <<"\n";
 cout <<"Function F = (lg(2*c-a)+d-152)/(a/4+c)\n";

 if (a <=0)
 throw "a < 0";
 
 if ((a/4+c) == 0)
 throw "Delenie na 0 zapresheno";

 if (((2*c-a)+d-152) <= 0)
 throw "Logarifm <= 0";

 F = (log10((2*c-a)+d-152)/(a/4+c));
 cout << F;
 }

 catch (const char *t)
 {
 cout << t <<"/n";
 }
 
 return 0;
}

//main.cpp
#include "stdafx.h"
#include <iostream>
#include "Logarifm.h"

using namespace std;

int main()
{
 Logarifm *obj1 = new Logarifm(0.0, 0.0, 4.5);
 Logarifm *obj2 = new Logarifm(3.4, 5.6, 6.0);
 Logarifm *obj[2] = {obj1, obj2};

 obj[0]->Function();
 cout << "\n\r";
 obj[1]->Function();
 cout << "\n\r";
 return 0;
}
2 ответа

Замечание одно - а зачем здесь вообще класс? Не стоит пихать ООП везде, куда вздумается. Что это за объект такой - Логарифм? К тому же высчитываемый по таким специфичным правилам.


Greblin, ну я изучаю сейчас в университете ооп и в задании написано "создать класс..."