PDA

Visualizza la versione completa : [c++ ] classi


JunkyFunki
15-01-2005, 11:30
bene...anzi male...oggi ho provato a fare la mia prima classe in c++

vi riporto i codici :

Rational.h


#ifndef RATIONAL_H
#define RATIONAL_H

class Rational {
public:
Rational(int=1,int=1);
private:
int num;
int den;
}
#endif



Rational.cpp


#include "Rational.h"

Rational::Rational(int n,int d)
{
num=n;
den=d;
}




prova.cpp


#include "Rational.h"

void main() {
Rational a(2,3), b(3,4), c(1,5), ris;
}


mi d i seguenti errori


C:\filec>bcc32 prova.cpp rational.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
prova2.cpp:
Error E2176 prova2.cpp 3: Too many types in declaration
Error E2111 prova2.cpp 3: Type 'Rational' may not be defined here
*** 2 errors in Compile ***
Rational.cpp:
Error E2111 Rational.cpp 3: Type 'Rational' may not be defined here
Error E2136 Rational.cpp 3: Constructor cannot have a return type specification
*** 2 errors in Compile ***



xch?? :master:

anx721
15-01-2005, 12:55
1 -> metti il punto e virgola dopo la graffa che chiude la definizione di una classe (in Rational.h)

2 -> main deve ritornare un intero

int main() {
Rational a(2,3), b(3,4), c(1,5), ris;
return 0;
}

JunkyFunki
15-01-2005, 13:55
Originariamente inviato da anx721
1 -> metti il punto e virgola dopo la graffa che chiude la definizione di una classe (in Rational.h)

2 -> main deve ritornare un intero

int main() {
Rational a(2,3), b(3,4), c(1,5), ris;
return 0;
}

tnx! :)

il problema era proprio la parentesi graffa.... :nonlodire

il main() funziona anche senza il return 0; :master:

zero85
15-01-2005, 14:05
il main() funziona anche senza il return 0; :master:

Giusto solamente una filosofia di programmazione...
dichiarando la main void ( sempre bene cmq mettere un return; alla fine) nn si ritorna al sistema operativo nessun valore per il controllo della coretta esecuzione del programma.
Con una int main() return 0 si dice che il programma stato eseguito con successo, mentre con un return diverso da 0 il sistema operativo interpreta che il programma ha avuot errori nella sua esecuzione

anx721
15-01-2005, 14:16
anche una questione di standard

Loading