Witam!
Zastanawiam się w jaki sposób mogę zapisać wynik wyrażenia metody z jednej klasy w drugiej?
delta.h
#pragma once
#include "f_kwadrat.h"
class Delta : protected f_kwadrat
{
public:
Delta();
~Delta();
void Calculate_your_delta(float, float ,float );
};
delta.cpp
#include "Delta.h"
#include "f_kwadrat.h"
#include "MORF_G.h"
#include <iostream>
using namespace std;
Delta::Delta()
{
}
Delta::~Delta()
{
}
void Delta::Calculate_your_delta(float a, float b, float c)
{
d = pow(b, 2) - 4 * (a*c);
}
MORF_OG.h
#pragma once
#include "f_kwadrat.h"
#include "Delta.h"
#include "CALC_P.h"
class MORF_OG :protected f_kwadrat
{
public:
void OG_LOAD();
MORF_OG();
~MORF_OG();
};
MORF_OG.cpp
#include "MORF_OG.h"
#include "f_kwadrat.h"
#include <iostream>
#include <math.h>
#include "Delta.h"
#include "CALC_P.h"
using namespace std;
Delta delt;
CALC_P calcp;
MORF_OG::MORF_OG()
{
}
MORF_OG::~MORF_OG()
{
}
void MORF_OG::OG_LOAD()
{ delt.Calculate_your_delta(a,b,c);
cout << d; // wypisuje sie 0 caly czas
}
Przy dowolnych wartosciach podawanych (a,b,c) gdy chce wypisac to w klasie docelowej zawsze wyskakuje 0.
Kiedy natomiast w metodzie Calculate_your_delta dopisze cout<<d; wtedy wyskakuje prawidłowy wynik ;d
Jak mogę temu zaradzić ? Chce by zamiast w metodzie Calc mógłbym wypisac prawidłowy wynik w odpowiedniej klasie ;d