modeste petite question sur ce que ca fait ... - C++ - Programmation
Marsh Posté le 06-10-2003 à 22:14:35
ton truc est completement foireux
b.A::f(2.4) ca veut strictement rien dire
Marsh Posté le 06-10-2003 à 22:17:57
velleronnais a écrit : |
sauf preuve du contraire tu n'arriveras jamais à faire quoique ce soit puisque ça ne compile pas
tiens pour ce qui utilise un compilateur C99 vous avait la macro __func__ qui permet de récupérer le nom de la fonction englobante. ce n'est pas encore dans le C++, mais ça devrait y passer je pense. en tout cas c'est utile, si votre compilo le fait ...
Marsh Posté le 06-10-2003 à 22:18:39
ben je l'aurais jamais ecrit, mais pour tout te dire je tire ca d'un questionnaire sense juger le niveau du candidat en C++ ...
La plupart des questions sont feinteuses, mais pas trop difficiles, mais la je vois pas ce que ca veut tester comme connaissance ?!?
Marsh Posté le 06-10-2003 à 22:25:23
de deux choses l'une :
1) tu t trompé en recopiant.
2) les gars te prennent pr un con dsl
Marsh Posté le 06-10-2003 à 22:27:10
ben tu réponds
b non déclaré
B n'hérite pas de A etc
ça serait pas plutôt
Code :
|
B::F() masquant les autres
g++ -Wshadow est notre ami
Marsh Posté le 06-10-2003 à 22:27:39
Taz a écrit : sauf preuve du contraire tu n'arriveras jamais à faire quoique ce soit puisque ça ne compile pas |
ceusse sous VC peuvent utiliser la macro __FUNCTION__
(ce qui est effectivement tres pratique pour la gestion d'erreur)
Marsh Posté le 06-10-2003 à 22:29:27
Taz a écrit : mais spécifique à ton compilateur |
sadly
ca mange pourtant pas de pain ces macros et c bien pratique
Marsh Posté le 06-10-2003 à 22:30:11
voila le copier/coller integral de l'enonce :
4. What do the following snippets of code print :
(a) b.f();
(b) b.f(2);
(c) b.A::f(2.4);
given the following definitions of A & B :
Code :
|
reponse donnee pour le 3eme cas (les 2 1ers sont triviaux) :
(c) I suppose this is ambiguous, either A::f(int) candidates
ce qui me chiffone, c'est cette histoire d'ambiguite ... ou alors je suis une bouze en anglais ???
Marsh Posté le 06-10-2003 à 22:32:29
y manque forcement un morceau, on a meme pas la declaration de b (meme si on se doute de son type)
et pis
I suppose this is ambiguous, either A::f(int) candidates
ca sonne pas bien anglais, la aussi manque un bout
Marsh Posté le 06-10-2003 à 22:34:13
j'ai que ca .. desole... l'enonce est tel que je l'ai file !
la reponse idem ...
Marsh Posté le 06-10-2003 à 22:34:29
si o suppos que b est une instance de B :
(a) affiche B::f()
(b) ne compile pas
(c) encore moins
voir mon exemple pour la lever d'ambuiguité à cause du caracètre masquant de la définition de B::f()
Marsh Posté le 06-10-2003 à 22:35:47
maintenant je suis d'accord .. je vois pas trop le but de la chose ?
dans la mesure ou c'est cense evaluer ton niveau.. qu'est ce que ca peut reveler ce genre d'exercice?
Marsh Posté le 06-10-2003 à 22:36:41
Taz a écrit : si o suppos que b est une instance de B : |
ok, merci
Marsh Posté le 06-10-2003 à 22:08:43