Salve a tutti, ho bisogno di un aiuto.
Ho due classi: la classe Parola e la classe Dizionario che dovrà contenere vari oggetti di tipo Parola.
Nella classe Parola non ho nessun problema.
codice:
//parola.h
#include <stdio.h>
#include <stdlib.h>
#define L_WORD 20
class Parola{
public:
int tipo;
char nome[L_WORD];
Parola(char nomes[L_WORD], int type);
void set_word(char nome[L_WORD]);
void set_type(int type);
char get_word();
int get_type();
private:
};
//parola.cpp
#include <stdio.h>
#include <stdlib.h>
#include "parola.h"
Parola::Parola(char nomes[L_WORD], int type){
for(int i = 0; i< L_WORD; i++){
nome[i] = nomes[i];
}
tipo = type;
}
void Parola::set_word(char nomes[L_WORD]){
for(int i = 0; i< L_WORD; i++){
nome[i] = nomes[i];
}
}
void Parola::set_type(int type){
tipo = type;
}
char Parola::get_word(){
return nome[L_WORD];
}
int Parola::get_type(){
return tipo;
}
E questa è la classe Dizionario (da finire)
codice:
#include <stdio.h>
#include <stdlib.h>
#include "parola.h"
#define DIZ_MAX 256
class Dizionario{
public:
Parola *parola[DIZ_MAX];
Dizionario();
void set_parola();
Parola get_parola();
private:
};
//dizionario.cpp
#include <stdio.h>
#include <stdlib.h>
#include "dizionario.h"
Dizionario::Dizionario(){}
Dizionario::set_parola(){
char nome[L_WORD];
gets(nome);
int type;
scanf("%d",type);
parola[0].set_word(nome);
parola[0].set_type(type);
printf("La parola e': \n%s\n%s(tipo)\n",parola[0].get_word(),parola[0].get_type());
}
Ora Dev-C++ mi riporta questi problemi:
codice:
7 C:\Users\Valerio\Desktop\IA\dizionario.cpp ISO C++ forbids declaration of `set_parola' with no type
7 C:\Users\Valerio\Desktop\IA\dizionario.cpp prototype for `int Dizionario::set_parola()' does not match any in class `Dizionario'
12 C:\Users\Valerio\Desktop\IA\dizionario.h void Dizionario::set_parola()
7 C:\Users\Valerio\Desktop\IA\dizionario.cpp `int Dizionario::set_parola()' and `void Dizionario::set_parola()' cannot be overloaded
C:\Users\Valerio\Desktop\IA\dizionario.cpp In member function `int Dizionario::set_parola()':
12 C:\Users\Valerio\Desktop\IA\dizionario.cpp `set_word' has not been declared
12 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token
13 C:\Users\Valerio\Desktop\IA\dizionario.cpp `set_type' has not been declared
13 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token
14 C:\Users\Valerio\Desktop\IA\dizionario.cpp `get_word' has not been declared
14 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token
14 C:\Users\Valerio\Desktop\IA\dizionario.cpp `get_type' has not been declared
14 C:\Users\Valerio\Desktop\IA\dizionario.cpp request for member of non-aggregate type before '(' token
C:\Users\Valerio\Desktop\IA\Makefile.win [Build Error] [dizionario.o] Error 1
Naturalmente il problema principale è l'uso della classe Parola nella classe Dizionario giusto? quindi... come posso sistemare il tutto? un aiutino?