cgarbite
Messages postés21Date d'inscriptionlundi 24 mai 2004StatutMembreDernière intervention 6 septembre 2005
-
6 juin 2005 à 00:55
cgarbite
Messages postés21Date d'inscriptionlundi 24 mai 2004StatutMembreDernière intervention 6 septembre 2005
-
6 juin 2005 à 09:32
Developpeur_Fou
Je programme avec borland c++
J ai 2 classes.
class TForm1 : public TForm
{
__published: // Composants gérés par l'EDI
TSession *Masession;
TDatabase *Database1;
TTable *Table1;
TDataSource *DataSource1;
TButton *Button1;
TMemo *Memo1;
TEdit *Edit1;
void __fastcall Button1Click(TObject *Sender);
//void __fastcall afficher();
private: // Déclarations de l'utilisateur
public: // Déclarations de l'utilisateur
__fastcall TForm1(TComponent* Owner);
};
class JeuEnregistrements : public TForm1
{
int test;
public:
void extraire_valeur();
int initialiser(int requete );
int get(void){return test;}
};
et voila la fonction qui a une erreur
void JeuEnregistrements::extraire_valeur()
{
JeuEnregistrements *Tab = new JeuEnregistrements() ; // L ERREUR EST LA
int test;
test= 2;
(*Tab).initialiser(test);
}
erreur: le compilateur n a pas pu generer constructeur par defaut de la classe JeuEnregistrements.
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 6 juin 2005 à 09:16
La classe TForm1 n'a pas de constructeur par défaut (il a été surchargé par un evec paramètre __fastcall TForm1(TComponent* Owner);)
La classe JeuEnregistrements n'ayant pas de constructeur de défini le compilo essaye de prndre celui par défaut (sans paramètre). Mais ce constructeur par défaut doit appeler le constructeur de la classe de base (TForm1) qui ne posède plus ce constructeur par défaut => le compilateur est bloqué. il faut définir un constructeur pour JeuEnregistrements (avec ou sans param) qui appelle celui de TForm1 par exemple :
JeuEnregistrements :: JeuEnregistrements ()
: TForm1(NULL)
{
}