problème de constructeur sous vc - Programmation
Marsh Posté le 15-06-2002 à 18:23:31
Personne pers[2]; //erreur du constructeur ici
Normal que ça foire, Personne doit posséder un constructeur sans paramètre si tu veux l'instancier dans un tableau.
Si tu veux stocker des instances de sous-classe de Personne, tu crées un tableau de Personne* et tu le remplis avec des "new Client(...)"
Marsh Posté le 15-06-2002 à 18:27:09
Tu dois toujours avoir un constructeur sans paramètres, même si tu ne t'en sers pas, ce qui n'est pas ton cas.
Marsh Posté le 15-06-2002 à 18:27:27
grilled
Marsh Posté le 15-06-2002 à 18:42:38
ok j'ai arrangé le constructeur
toujours dans mon main
Personne *pers[2];
Client pers[0] = new client("smith","jim","637-7338","113 arbre",23,"23_mc" );
ça c'est pas la bonne solution
g 3 millions d'erreur
comment faire?
Marsh Posté le 15-06-2002 à 18:43:36
os2 a écrit a écrit : ok j'ai arrangé le constructeur toujours dans mon main Personne *pers[2]; Client pers[0] = new client("smith","jim","637-7338","113 arbre",23,"23_mc" ); ça c'est pas la bonne solution g 3 millions d'erreur comment faire? |
C'est pers[0] = new Client(....)
Je te conseille de lire un bon bouquin sur le C++ pour commencer.
Marsh Posté le 15-06-2002 à 18:50:32
je pense surtout qu'il a du faire du Java avant !
Marsh Posté le 15-06-2002 à 18:51:42
Harkonnen a écrit a écrit : je pense surtout qu'il a du faire du Java avant ! |
Euh même en java, on ne déclare pas 2 fois le même tableau
Marsh Posté le 15-06-2002 à 18:54:23
ah oui, merde, c'est un tableau !
j'avais pas fait gaffe
Marsh Posté le 15-06-2002 à 18:57:19
oui j'ai fait un peu de java auparavant...
mais j'ai fait beaucoup plus de c et de delphi
Personne *pers[2];
pers[0] = new Client("smith","jim","637-7338","113 arbre",23,"23_mc" );
maintenant j'ai
error C2243: 'type cast' : conversion from 'class Client *' to 'class Personne *' exists, but is inaccessible
Marsh Posté le 15-06-2002 à 19:04:03
os2 a écrit a écrit : oui j'ai fait un peu de java auparavant... mais j'ai fait beaucoup plus de c et de delphi Personne *pers[2]; pers[0] = new Client("smith","jim","637-7338","113 arbre",23,"23_mc" ); maintenant j'ai error C2243: 'type cast' : conversion from 'class Client *' to 'class Personne *' exists, but is inaccessible |
class Client : public Personne
{
//etc...
};
http://www.fnac.com/Shelf/article. [...] Ra=-1&To=0
Marsh Posté le 15-06-2002 à 19:08:04
ok merci, j'avais pas mis de public...
ça fonctionnait sans problème auparavant jusqu'à j'utilise personne directement pour le polymorphisme....
vc est une vrai passoire il me semble non?
je préfère bcb
Marsh Posté le 15-06-2002 à 19:09:15
os2 a écrit a écrit : ok merci, j'avais pas mis de public... ça fonctionnait sans problème auparavant jusqu'à j'utilise personne directement pour le polymorphisme.... vc est une vrai passoire il me semble non? je préfère bcb |
Et ben retourne à BCB si c'est mieux
Marsh Posté le 15-06-2002 à 19:12:04
quelqu'un se rappele de l'examen compilo c++ de borland qui ressemblait à vc...
j'utilisait ça il y a quelque années c'était pas bcb...
me rappele pu du nom
Marsh Posté le 15-06-2002 à 19:13:20
peut pas retourner à bcb, je dois faire un tp et le prof a obliger qu'on utilise vc avec les mfc....
vc est tellement pas standard comparativement à bcb
Marsh Posté le 15-06-2002 à 19:14:20
os2 a écrit a écrit : peut pas retourner à bcb, je dois faire un tp et le prof a obliger qu'on utilise vc avec les mfc.... vc est tellement pas standard comparativement à bcb |
Quand tu connaitras un peu mieux le C++, tu pourras commencer à critiquer...
Marsh Posté le 15-06-2002 à 19:27:07
ben justement j'ai fait du c++ il a quelques année durant plusieurs mois....
mais j'ai pu eu en n'en faire jusqu'à aujourd'hui...
pas besoin d'avoir un doc pour savoir que vc est respecte pas vraiment les normes établies....
de plus ché pas mais les mfc comparativement à la vcl.... mfc est loin derrière...
la librairie de borland est nettement plus logique...
de plus bcb existera sous linux très bientôt...
borland fait toujours en sorte d'adopte les nouvelles technologie même celle de son rival... ce qui n'est vraiment pas le cas de ms
Smaragdus a écrit a écrit : Quand tu connaitras un peu mieux le C++, tu pourras commencer à critiquer... |
Marsh Posté le 16-06-2002 à 14:31:55
os2 a écrit a écrit : pas besoin d'avoir un doc pour savoir que vc est respecte pas vraiment les normes établies.... |
Lis un bouquin sur le c++, tu apprendras que le modifieur par défaut d'une dérivation est private... alors tes critiques...
Quand aux VCL, c'est vrai qu'en terme de lourdeur, elles sont loin devant les MFC
Marsh Posté le 16-06-2002 à 14:54:47
os2 a écrit a écrit : pas besoin d'avoir un doc pour savoir que vc est respecte pas vraiment les normes établies.... |
il ne faut tout de même pas exagérer... j'ai l'impression que tu confonds programmation Win32 et programmation ANSI !
en Win32, effectivement, les normes sont peu respectées : WinMain() au lieu de main(), etc... mais ce sont des normes fixées par le système et non par le compilateur. Sous BCB, c'est la même chose !
en ANSI, VC++ fonctionne à merveille avec les normes standard !
alors bon, il ne faut pas faire d'anti Microsoft primaire... quant au débat VCL/MFC, il a déja été abordé maintes fois dans ce forum, inutile de dévier du sujet...
Marsh Posté le 16-06-2002 à 18:56:57
Je suis un pro-linux a fond et pourtant, je trouve que Visual C++ 6.0 ( je connais pas les autres versions ) est un excellent logiciel de devellopement, pratique et tout. Microsoft fait de très bon logiciel de devellopement. Tu peut si tu veut utiliser les MFC mais si tu ne veut pas tu peut t'en passer tout aussi facilement ( j'entend par la que t'est pas obligé d'allez cocher un option perdu au fin fond de 40 sous menu imbriqué ). En plus le compilo est de bonne qualité. Franchement on peut pas lui reprocher grand chose je trouve. Attention j'ai pas dis que tout les autres IDE c'était de la merde, j'ai juste dis que VC++ est bien.
Au fait ca marche maintenant ton prog ?
Marsh Posté le 15-06-2002 à 18:14:19
j'ai l'erreur suivante
error C2512: 'Personne' : no appropriate default constructor available
pourtant j'ai bien un construteur personne....
ça fait un temps que j'ai pas fait de c++
Mon constructeur de personne
Personne::Personne(char pnom[30], char pprenom [30],char ptelephone[10], char padresse[40])
{
strcpy(nom,pnom);
strcpy(prenom,pprenom);
strcpy(telephone,ptelephone);
strcpy(adresse,padresse);
};
mon constructeur de client
Client::Client(char cnom[30],char cprenom[30],char ctelephone[30],
char cadresse[30],int cage, char cno_carte[30]):
Personne(cnom,cprenom,ctelephone, cadresse){
age = cage;
strcpy(no_carte,cno_carte);
};
client hérite de personne
voici mon main
void main()
{
Personne pers[2]; //erreur du constructeur ici
Client client("smith","jim","637-7338","113 arbre",23,"23_mc" );
pers[0]=client;
}
personne a une méthode abstraite donc je ne peux instancié personne
je voulais en gros créer des clients... et ensuite utiliser le polymorphisme
quelqu'un sait c'est quoi le problème et comment le corriger?
---------------
Borland rulez: http://pages.infinit.net/borland