PDA

View Full Version : [C++] problema classi


Selyn
13-12-2013, 15:12
ciao a tutti ho un piccolo problema,ho tre file main.cpp,header.h e funz.cpp
ora nell header.h ho la classe Pippo con tutti i metodi che la classe utilizza
nel file funz.cpp ho un metodo void Pippo :: pluto() {....}
nel main richiamavo ques'ultimo così:
Pippo pippo;
pippo.pluto();

ora però voglio inserire void Pippo :: pluto() {....} nel file main.cpp
ho scritto quindi

#include "header.h"
void main(){

void Pippo :: pluto() {....}
}

ma non va mi da errore il compilatero ovvero:
expected primary-expressione before void
expected ; before void

cioè dove vuole sto ; che non c'è nulla sopra? :muro:

vendettaaaaa
13-12-2013, 15:29
ciao a tutti ho un piccolo problema,ho tre file main.cpp,header.h e funz.cpp
ora nell header.h ho la classe Pippo con tutti i metodi che la classe utilizza
nel file funz.cpp ho un metodo void Pippo :: pluto() {....}
nel main richiamavo ques'ultimo così:
Pippo pippo;
pippo.pluto();

ora però voglio inserire void Pippo :: pluto() {....} nel file main.cpp
ho scritto quindi

#include "header.h"
void main(){

void Pippo :: pluto() {....}
}

ma non va mi da errore il compilatero ovvero:
expected primary-expressione before void
expected ; before void

cioè dove vuole sto ; che non c'è nulla sopra? :muro:
Prima di tutto è ottima prassi nominare l'header che contiene la definizione della classe come la classe (quindi Pippo.h o Pippo.hpp) e mettere tutte le definizioni di funzioni in un cpp (Pippo.cpp).
Ad ogni modo in C++ non si possono dichiarare/definire funzioni dentro ad altre funzioni (e il main è una funzione). Devi farlo fuori dal main.

Selyn
13-12-2013, 15:57
Ad ogni modo in C++ non si possono dichiarare/definire funzioni dentro ad altre funzioni (e il main è una funzione). Devi farlo fuori dal main.

eh si infatti ho risolto in un altro modo....grazie :)