C++ scope error

di il
5 risposte

C++ scope error

Ciao a tutti, questo codice che ho scritto non funziona,problema di scope.. Non riesco a capire dove è l'errore...
Grazie
ric
#include <iostream>
#include "Math.h"

using namespace std;


int main(){

    float sommare = somma(25.1,36.02);
    cout << sommare << endl;


    return 0;
}
#ifndef MATH_H
#define MATH_H


class Math
{
    public:
        Math();//costructor
        float somma(float n1, float n2);
        float sottrazione(float n1, float n2);
        float divisione(float n1, float n2);
        float moltiplicazione(float n1, float n2);
};

#endif // MATH_H
#include "Math.h"

Math::Math()
{
    //costructor
}

float Math::somma(float n1, float n2)
{
  float add = n1 + n2;
  return add;
}
float Math::sottrazione(float n1, float n2)
{
    float sott = n1 - n2;
    return sott;
}
float Math::divisione(float n1, float n2)
{
    float div = n1/n2;
    return div;
}
float Math::moltiplicazione(float n1, float n2)
{
    float molt = n1 * n2;
    return molt;
}

5 Risposte

  • Re: C++ scope error

    'somma' , scritta cosi' nel main, e' una FUNZIONE,

    mentre tu l'hai definita come un METODO della classe Math.

    NON SONO LA STESSA COSA.

    La programmazione procedurale e la programmazione ad oggetti possono convivere,

    MA NON SONO LA STESSA COSA.
  • Re: C++ scope error

    Ho provato anche a scriverla così:
    Math.somma(25.1,36.02); ma non funziona.
  • Re: C++ scope error

    Devi creare un oggetto di classe Math e poi lo utilizzi.

    E magari prima studi.
  • Re: C++ scope error

    I linguaggi di programmazione di STUDIANO, non si va a tentativi basati SOLO sulla somiglianza con altri linguaggi (Java)
  • Re: C++ scope error

    Potresti anche dichiarare somma() come funzione statica della classe Math() e usarla nella forma Math::somma()...
Devi accedere o registrarti per scrivere nel forum
5 risposte