Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1913 connectés 

  FORUM HardWare.fr
  Programmation

  problème de constructeur sous vc

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de constructeur sous vc

n°159935
os2
Posté le 15-06-2002 à 18:14:19  profilanswer
 

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
mood
Publicité
Posté le 15-06-2002 à 18:14:19  profilanswer
 

n°159947
smaragdus
whores, drugs & J.S. Bach
Posté le 15-06-2002 à 18:23:31  profilanswer
 

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(...)"


Message édité par smaragdus le 15-06-2002 à 18:25:03
n°159950
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-06-2002 à 18:27:09  profilanswer
 

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.


---------------
J'ai un string dans l'array (Paris Hilton)
n°159951
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-06-2002 à 18:27:27  profilanswer
 

grilled :d


---------------
J'ai un string dans l'array (Paris Hilton)
n°159957
os2
Posté le 15-06-2002 à 18:42:38  profilanswer
 

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?


---------------
Borland rulez: http://pages.infinit.net/borland
n°159958
smaragdus
whores, drugs & J.S. Bach
Posté le 15-06-2002 à 18:43:36  profilanswer
 

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?  




 
 :pt1cable:  
C'est pers[0] = new Client(....)
 
Je te conseille de lire un bon bouquin sur le C++ pour commencer.


Message édité par smaragdus le 15-06-2002 à 18:49:02
n°159959
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-06-2002 à 18:50:32  profilanswer
 

je pense surtout qu'il a du faire du Java avant !


---------------
J'ai un string dans l'array (Paris Hilton)
n°159960
smaragdus
whores, drugs & J.S. Bach
Posté le 15-06-2002 à 18:51:42  profilanswer
 

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  :heink:

n°159962
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 15-06-2002 à 18:54:23  profilanswer
 

ah oui, merde, c'est un tableau !
j'avais pas fait gaffe  :cry:


---------------
J'ai un string dans l'array (Paris Hilton)
n°159966
os2
Posté le 15-06-2002 à 18:57:19  profilanswer
 

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


---------------
Borland rulez: http://pages.infinit.net/borland
mood
Publicité
Posté le 15-06-2002 à 18:57:19  profilanswer
 

n°159972
smaragdus
whores, drugs & J.S. Bach
Posté le 15-06-2002 à 19:04:03  profilanswer
 

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

n°159975
os2
Posté le 15-06-2002 à 19:08:04  profilanswer
 

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


---------------
Borland rulez: http://pages.infinit.net/borland
n°159977
smaragdus
whores, drugs & J.S. Bach
Posté le 15-06-2002 à 19:09:15  profilanswer
 

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  :sarcastic:

n°159978
os2
Posté le 15-06-2002 à 19:12:04  profilanswer
 

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


---------------
Borland rulez: http://pages.infinit.net/borland
n°159979
os2
Posté le 15-06-2002 à 19:13:20  profilanswer
 

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


---------------
Borland rulez: http://pages.infinit.net/borland
n°159980
smaragdus
whores, drugs & J.S. Bach
Posté le 15-06-2002 à 19:14:20  profilanswer
 

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...

n°159986
os2
Posté le 15-06-2002 à 19:27:07  profilanswer
 

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...  




---------------
Borland rulez: http://pages.infinit.net/borland
n°160211
smaragdus
whores, drugs & J.S. Bach
Posté le 16-06-2002 à 14:31:55  profilanswer
 

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...  :sarcastic:
 
Quand aux VCL, c'est vrai qu'en terme de lourdeur, elles sont loin devant les MFC :lol:


Message édité par smaragdus le 16-06-2002 à 14:57:21
n°160219
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-06-2002 à 14:54:47  profilanswer
 

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...


---------------
J'ai un string dans l'array (Paris Hilton)
n°160302
246tNt
Resistance is futile
Posté le 16-06-2002 à 18:56:57  profilanswer
 

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 ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  problème de constructeur sous vc

 

Sujets relatifs
Problème: passage de paramètresProbleme d'insertion d'un wav [MFC]!!!!!!!!!!!!!!!!!!
problème de copier de dataset en delphi[php] problème de tableaux!! à l'aide :'(
Probleme avec les etats et des calculs.....Problème dans un formulaire ...
Frame (ou cadre) probleme.Probleme de html
[C] problème de lecture de caractères dans un fichierproblème d'insertion d'images (résolu)
Plus de sujets relatifs à : problème de constructeur sous vc


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)