Je comprends pas le fonctionnement... je suis programmeur C et j'essai de
faire du C++, et j'ai trouvé sur aucun tutoriel la façon de procéder pour
faire fonctionner du code sur plusieurs fichiers.. voici mon code qui est
très très court :
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
.oO LGV Oo.
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu nous donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a pas l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main()
{
Init.aff();
system("PAUSE");
}
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o;
o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce
vraiment le but ? ...) du style :
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu nous donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a pas l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
_M.B._
"TigrouMeow" a écrit dans le message news: blmvt8$1g9$
Je comprends pas le fonctionnement... je suis programmeur C et j'essai de faire du C++, et j'ai trouvé sur aucun tutoriel la façon de procéder pour faire fonctionner du code sur plusieurs fichiers.. voici mon code qui est très très court :
int Init::aff() { cout << "initialisation affichage..." << endl; }
#include <iostream.h> #include "dreadmeow.h"
/* main.cpp */ int main() { Init.aff(); system("PAUSE"); }
L'erreur que j'obtiens est : [Warning] In function `int main()': DreadMeowmain.cpp parse error before `.' token
Donc il a pas trouvé la classe... mais comment cela se fait? Merci de votre aide.
Moi non plus, je ne l'ai pas trouvée. Elle est ou ?
MB
"TigrouMeow" <TigrouMeow-N-O-S-P-A-M@N-O-S-P-A-M-TigrouMeow.com> a écrit
dans le message news: blmvt8$1g9$1@news.tiscali.fr...
Je comprends pas le fonctionnement... je suis programmeur C et j'essai de
faire du C++, et j'ai trouvé sur aucun tutoriel la façon de procéder pour
faire fonctionner du code sur plusieurs fichiers.. voici mon code qui est
très très court :
"TigrouMeow" a écrit dans le message news: blmvt8$1g9$
Je comprends pas le fonctionnement... je suis programmeur C et j'essai de faire du C++, et j'ai trouvé sur aucun tutoriel la façon de procéder pour faire fonctionner du code sur plusieurs fichiers.. voici mon code qui est très très court :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
.oO LGV Oo.
fais quand meme attention à bien saisir tout le sens de éléments statiques... sinon tu risques fort d'etre amené à déclarer toutes tes methodes/attributs statiques, et à faire du C encapsulé dans des classes, juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de l'optique objet du C++...
"TigrouMeow" a écrit dans le message de news:bln41v$e7b$
Merci beaucoup, en effet il fallait déclarer en tant que statique ! Et... je
savais tout simplement pas que ça existait ;) Merci de ton aide encore :)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
fais quand meme attention à bien saisir tout le sens de éléments
statiques... sinon tu risques fort d'etre amené à déclarer toutes tes
methodes/attributs statiques, et à faire du C encapsulé dans des classes,
juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de
l'optique objet du C++...
"TigrouMeow" <TigrouMeow-N-O-S-P-A-M@N-O-S-P-A-M-TigrouMeow.com> a écrit
dans le message de news:bln41v$e7b$1@news.tiscali.fr...
Merci beaucoup, en effet il fallait déclarer en tant que statique ! Et...
je
savais tout simplement pas que ça existait ;) Merci de ton aide encore :)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu
nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main()
{
Init.aff();
system("PAUSE");
}
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a
pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en
fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o;
o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce
vraiment le but ? ...) du style :
fais quand meme attention à bien saisir tout le sens de éléments statiques... sinon tu risques fort d'etre amené à déclarer toutes tes methodes/attributs statiques, et à faire du C encapsulé dans des classes, juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de l'optique objet du C++...
"TigrouMeow" a écrit dans le message de news:bln41v$e7b$
Merci beaucoup, en effet il fallait déclarer en tant que statique ! Et... je
savais tout simplement pas que ça existait ;) Merci de ton aide encore :)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
Jonathan Mcdougall
Je comprends pas le fonctionnement... je suis programmeur C et j'essai de faire du C++, et j'ai trouvé sur aucun tutoriel la façon de procéder pour faire fonctionner du code sur plusieurs fichiers.. voici mon code qui est très très court :
Achète un livre, il te sera plus facile de comprendre
Voici donc les 3 fichiers du projet :
Je crois que tu veux faire trop de choses en même temps.
/* dreadmeow.h */ #include <iostream.h>
Non standard
# include <iostream>
#include "dreadmeow.h"
int main() { Init.aff();
Je suppose que 'Init' est le nom de ta classe, mais il aurait été intéressant que tu nous en donnes la définition.
Elle doit ressembler à
class Init { public: void aff(); };
Dans ce cas, aff() est une fonction membre de la classe Init; il te faut donc une instance de cette classe :
Init o;
Avec l'object 'o' tu peux maintenant accéder à la fonction aff() :
o.aff();
system("PAUSE");
Ceci n'est pas portable, sur mon système, PAUSE fait exploser l'écran (ça fait 8 fois que je me fais prendre).
}
/* init_aff.cpp */ #include <iostream.h>
Non standard.
#include "dreadmeow.h"
int Init::aff() { cout << "initialisation affichage..." << endl; }
#include <iostream.h> #include "dreadmeow.h"
/* main.cpp */ int main() { Init.aff(); system("PAUSE"); }
L'erreur que j'obtiens est : [Warning] In function `int main()': DreadMeowmain.cpp parse error before `.' token
Donc il a pas trouvé la classe...
Non, il a trouvé la classe, mais ta syntaxe est illégale.
Je crois qu'il te faut lire un peu sur la terminologie (classe, objet, fonction, instance...).
mais comment cela se fait?
# include "taclasse.h"
int main() { TaClasse o;
o.ta_fonction(); }
Jonathan
Je comprends pas le fonctionnement... je suis programmeur C et j'essai de
faire du C++, et j'ai trouvé sur aucun tutoriel la façon de procéder pour
faire fonctionner du code sur plusieurs fichiers.. voici mon code qui est
très très court :
Achète un livre, il te sera plus facile de comprendre
Voici donc les 3 fichiers du projet :
Je crois que tu veux faire trop de choses en même temps.
/* dreadmeow.h */
#include <iostream.h>
Non standard
# include <iostream>
#include "dreadmeow.h"
int main()
{
Init.aff();
Je suppose que 'Init' est le nom de ta classe, mais il aurait
été intéressant que tu nous en donnes la définition.
Elle doit ressembler à
class Init
{
public:
void aff();
};
Dans ce cas, aff() est une fonction membre de la classe Init;
il te faut donc une instance de cette classe :
Init o;
Avec l'object 'o' tu peux maintenant accéder à la fonction aff() :
o.aff();
system("PAUSE");
Ceci n'est pas portable, sur mon système, PAUSE fait exploser
l'écran (ça fait 8 fois que je me fais prendre).
}
/* init_aff.cpp */
#include <iostream.h>
Non standard.
#include "dreadmeow.h"
int Init::aff()
{
cout << "initialisation affichage..." << endl;
}
#include <iostream.h>
#include "dreadmeow.h"
/* main.cpp */
int main()
{
Init.aff();
system("PAUSE");
}
L'erreur que j'obtiens est :
[Warning] In function `int main()':
DreadMeowmain.cpp
parse error before `.' token
Donc il a pas trouvé la classe...
Non, il a trouvé la classe, mais ta syntaxe est illégale.
Je crois qu'il te faut lire un peu sur la terminologie (classe,
objet, fonction, instance...).
Je comprends pas le fonctionnement... je suis programmeur C et j'essai de faire du C++, et j'ai trouvé sur aucun tutoriel la façon de procéder pour faire fonctionner du code sur plusieurs fichiers.. voici mon code qui est très très court :
Achète un livre, il te sera plus facile de comprendre
Voici donc les 3 fichiers du projet :
Je crois que tu veux faire trop de choses en même temps.
/* dreadmeow.h */ #include <iostream.h>
Non standard
# include <iostream>
#include "dreadmeow.h"
int main() { Init.aff();
Je suppose que 'Init' est le nom de ta classe, mais il aurait été intéressant que tu nous en donnes la définition.
Elle doit ressembler à
class Init { public: void aff(); };
Dans ce cas, aff() est une fonction membre de la classe Init; il te faut donc une instance de cette classe :
Init o;
Avec l'object 'o' tu peux maintenant accéder à la fonction aff() :
o.aff();
system("PAUSE");
Ceci n'est pas portable, sur mon système, PAUSE fait exploser l'écran (ça fait 8 fois que je me fais prendre).
}
/* init_aff.cpp */ #include <iostream.h>
Non standard.
#include "dreadmeow.h"
int Init::aff() { cout << "initialisation affichage..." << endl; }
#include <iostream.h> #include "dreadmeow.h"
/* main.cpp */ int main() { Init.aff(); system("PAUSE"); }
L'erreur que j'obtiens est : [Warning] In function `int main()': DreadMeowmain.cpp parse error before `.' token
Donc il a pas trouvé la classe...
Non, il a trouvé la classe, mais ta syntaxe est illégale.
Je crois qu'il te faut lire un peu sur la terminologie (classe, objet, fonction, instance...).
mais comment cela se fait?
# include "taclasse.h"
int main() { TaClasse o;
o.ta_fonction(); }
Jonathan
Michaël Monerau
.oO LGV Oo. wrote:
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
Non, une fonction statique peut être appelée par : Init::aff ();
Car Init n'est pas un objet. C'est le nom de la classe. On ne peut donc pas la déférencer comme on le ferait avec une référence (même si "déréférencer" une référence ne sonne pas très bien... Un meilleur terme vous vient à l'esprit ?).
.oO LGV Oo. wrote:
sinon, tu peux faire comme je disais une méthode statique (mais est-ce
vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance
particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
Non, une fonction statique peut être appelée par :
Init::aff ();
Car Init n'est pas un objet. C'est le nom de la classe. On ne peut donc pas
la déférencer comme on le ferait avec une référence (même si "déréférencer"
une référence ne sonne pas très bien... Un meilleur terme vous vient à
l'esprit ?).
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
Non, une fonction statique peut être appelée par : Init::aff ();
Car Init n'est pas un objet. C'est le nom de la classe. On ne peut donc pas la déférencer comme on le ferait avec une référence (même si "déréférencer" une référence ne sonne pas très bien... Un meilleur terme vous vient à l'esprit ?).
Christophe Lephay
".oO LGV Oo." a écrit dans le message de news:blnbiu$qqe$
fais quand meme attention à bien saisir tout le sens de éléments statiques... sinon tu risques fort d'etre amené à déclarer toutes tes methodes/attributs statiques, et à faire du C encapsulé dans des classes, juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de l'optique objet du C++...
"TigrouMeow" a écrit dans le message de news:bln41v$e7b$
Merci beaucoup, en effet il fallait déclarer en tant que statique ! Et...
je
savais tout simplement pas que ça existait ;) Merci de ton aide encore :)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a
pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
tu devrais répondre plutôt en fin de message, par ce que ça devient illisible dès qu'on dépasse deux posts...
Chris
".oO LGV Oo." <legeantvert@tiscali.fr> a écrit dans le message de
news:blnbiu$qqe$1@news.tiscali.fr...
fais quand meme attention à bien saisir tout le sens de éléments
statiques... sinon tu risques fort d'etre amené à déclarer toutes tes
methodes/attributs statiques, et à faire du C encapsulé dans des classes,
juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de
l'optique objet du C++...
"TigrouMeow" <TigrouMeow-N-O-S-P-A-M@N-O-S-P-A-M-TigrouMeow.com> a écrit
dans le message de news:bln41v$e7b$1@news.tiscali.fr...
Merci beaucoup, en effet il fallait déclarer en tant que statique !
Et...
je
savais tout simplement pas que ça existait ;) Merci de ton aide encore
:)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu
nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main()
{
Init.aff();
system("PAUSE");
}
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui
n'a
pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en
fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o;
o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce
vraiment le but ? ...) du style :
".oO LGV Oo." a écrit dans le message de news:blnbiu$qqe$
fais quand meme attention à bien saisir tout le sens de éléments statiques... sinon tu risques fort d'etre amené à déclarer toutes tes methodes/attributs statiques, et à faire du C encapsulé dans des classes, juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de l'optique objet du C++...
"TigrouMeow" a écrit dans le message de news:bln41v$e7b$
Merci beaucoup, en effet il fallait déclarer en tant que statique ! Et...
je
savais tout simplement pas que ça existait ;) Merci de ton aide encore :)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a
pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
tu devrais répondre plutôt en fin de message, par ce que ça devient illisible dès qu'on dépasse deux posts...
Chris
.oO LGV Oo.
"Christophe Lephay" a écrit dans le message de news:blne0f$o9e$
".oO LGV Oo." a écrit dans le message de news:blnbiu$qqe$
fais quand meme attention à bien saisir tout le sens de éléments statiques... sinon tu risques fort d'etre amené à déclarer toutes tes methodes/attributs statiques, et à faire du C encapsulé dans des classes,
juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de l'optique objet du C++...
"TigrouMeow" a écrit dans le message de news:bln41v$e7b$
Merci beaucoup, en effet il fallait déclarer en tant que statique ! Et...
je
savais tout simplement pas que ça existait ;) Merci de ton aide encore :)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu
nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a
pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce
et comme elle statique, elle ne dépend pas du contexte d'une instance
particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
tu devrais répondre plutôt en fin de message, par ce que ça devient illisible dès qu'on dépasse deux posts...
Chris
à oui, pardon, je n'avais pas fais attention... je pensais qu'il était plus intéressant pour les personnes qui suivent les discussions d'avoir les dernières infos en tête, mais comme tu le dis, ça deviens vite illisible
"Christophe Lephay" <christophe-lephay@wanadoo.fr> a écrit dans le message
de news:blne0f$o9e$1@news-reader5.wanadoo.fr...
".oO LGV Oo." <legeantvert@tiscali.fr> a écrit dans le message de
news:blnbiu$qqe$1@news.tiscali.fr...
fais quand meme attention à bien saisir tout le sens de éléments
statiques... sinon tu risques fort d'etre amené à déclarer toutes tes
methodes/attributs statiques, et à faire du C encapsulé dans des
classes,
juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de
l'optique objet du C++...
"TigrouMeow" <TigrouMeow-N-O-S-P-A-M@N-O-S-P-A-M-TigrouMeow.com> a écrit
dans le message de news:bln41v$e7b$1@news.tiscali.fr...
Merci beaucoup, en effet il fallait déclarer en tant que statique !
Et...
je
savais tout simplement pas que ça existait ;) Merci de ton aide encore
:)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */
tu
nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main()
{
Init.aff();
system("PAUSE");
}
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui
n'a
pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en
fait
créer une instance de ton objet et ensuite appeler la méthode dessus
:
Init o;
o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais
est-ce
et comme elle statique, elle ne dépend pas du contexte d'une
instance
particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o;
o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
tu devrais répondre plutôt en fin de message, par ce que ça devient
illisible dès qu'on dépasse deux posts...
Chris
à oui, pardon, je n'avais pas fais attention... je pensais qu'il était plus
intéressant pour les personnes qui suivent les discussions d'avoir les
dernières infos en tête, mais comme tu le dis, ça deviens vite illisible
"Christophe Lephay" a écrit dans le message de news:blne0f$o9e$
".oO LGV Oo." a écrit dans le message de news:blnbiu$qqe$
fais quand meme attention à bien saisir tout le sens de éléments statiques... sinon tu risques fort d'etre amené à déclarer toutes tes methodes/attributs statiques, et à faire du C encapsulé dans des classes,
juste pour la forme, et ça c'est mauvais dans le sens où on s'éloigne de l'optique objet du C++...
"TigrouMeow" a écrit dans le message de news:bln41v$e7b$
Merci beaucoup, en effet il fallait déclarer en tant que statique ! Et...
je
savais tout simplement pas que ça existait ;) Merci de ton aide encore :)
erreur de copié/collé je pense : dans le fichier /* dreadmeow.h */ tu
nous
donnes le corps du main... bref, je pense avoir compris ton soucis :
int main() { Init.aff(); system("PAUSE"); }
Init.aff(); fonctionnerait si aff était une méthode statique (ce qui n'a
pas
l'air d'être le cas, mais on n'a pas le code du .h). Il faut donc en fait
créer une instance de ton objet et ensuite appeler la méthode dessus :
Init o; o.aff();
sinon, tu peux faire comme je disais une méthode statique (mais est-ce
et comme elle statique, elle ne dépend pas du contexte d'une instance
particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
à noter que :
Init o; o.aff();
dans ce dernier cas (aff() statique) marche bien évidemment aussi...
en espérant que ça aide un peu...
tu devrais répondre plutôt en fin de message, par ce que ça devient illisible dès qu'on dépasse deux posts...
Chris
à oui, pardon, je n'avais pas fais attention... je pensais qu'il était plus intéressant pour les personnes qui suivent les discussions d'avoir les dernières infos en tête, mais comme tu le dis, ça deviens vite illisible
.oO LGV Oo.
"Michaël Monerau" a écrit dans le message de news:KRFfb.44736$
.oO LGV Oo. wrote:
sinon, tu peux faire comme je disais une méthode statique (mais est-ce vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
Non, une fonction statique peut être appelée par : Init::aff ();
Car Init n'est pas un objet. C'est le nom de la classe. On ne peut donc pas
la déférencer comme on le ferait avec une référence (même si "déréférencer"
une référence ne sonne pas très bien... Un meilleur terme vous vient à l'esprit ?).
finement noté ;) j'ai tapé cette énormité dans le "feu de l'action" LOL ... et au passage, il me semble que le :: s'appelle l'opérateur de résolution de portée
"Michaël Monerau" <cort@meloo.com> a écrit dans le message de
news:KRFfb.44736$qU6.677982@news.chello.at...
.oO LGV Oo. wrote:
sinon, tu peux faire comme je disais une méthode statique (mais est-ce
vraiment le but ? ...) du style :
et comme elle statique, elle ne dépend pas du contexte d'une instance
particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
Non, une fonction statique peut être appelée par :
Init::aff ();
Car Init n'est pas un objet. C'est le nom de la classe. On ne peut donc
pas
la déférencer comme on le ferait avec une référence (même si
"déréférencer"
une référence ne sonne pas très bien... Un meilleur terme vous vient à
l'esprit ?).
finement noté ;) j'ai tapé cette énormité dans le "feu de l'action" LOL ...
et au passage, il me semble que le :: s'appelle l'opérateur de résolution de
portée
et comme elle statique, elle ne dépend pas du contexte d'une instance particulière et peut donc etre appelée avec la syntaxe :
Init.aff();
Non, une fonction statique peut être appelée par : Init::aff ();
Car Init n'est pas un objet. C'est le nom de la classe. On ne peut donc pas
la déférencer comme on le ferait avec une référence (même si "déréférencer"
une référence ne sonne pas très bien... Un meilleur terme vous vient à l'esprit ?).
finement noté ;) j'ai tapé cette énormité dans le "feu de l'action" LOL ... et au passage, il me semble que le :: s'appelle l'opérateur de résolution de portée