Désolé, j'ai pose le 24 cette question dans le mauvais forum.
(L'abus d'alcool...)
J'essaye de faire un bout de code C++ pour envoyer des publicités
sur plusieurs forums en meme temps,
(en fait je suis en train de developper une bibliotheque C++ nntp
qui me permettra d'envoyer ces publicités regulierement),
mais je n'ai pas ecrit de C++ depuis longtemps...
Voici le probleme qui se pose à moi
(un peu resumé, quelques autres classes interviennent par ci par la),
modifié pour tenir sur qulques lignes.
J'ai une classe de base, NNTPBase,
class NNTPBase {
public:
int _i;
int _j;
NNTPBase(int i,int j);
// etc...
};
NNTPBase::NNTPBase(int i, int j)
{
_i = i;
_j = j;
}
// etc...
Je derive NNTPDerived de NNTPBase,
mais le constructeur de NNTPDerived
recoit une string et non deux int,
et avant d'obtenir deux entiers la chaine recue
doit etre decomposée et analysée...
Le probleme est donc que je ne peux pas construire NNTPBase
dans le constructor initialization list
comme ainsi
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
Florent C.
Albert Delay wrote:
Salut,
Désolé, j'ai pose le 24 cette question dans le mauvais forum. (L'abus d'alcool...)
J'essaye de faire un bout de code C++ pour envoyer des publicités sur plusieurs forums en meme temps,
C'est encore le mauvais forum (eh oui !).
Essaye plutôt fr.comp.lang.spam mais je ne suis pas sûr qu'il existe, peut-être devras-tu le créer. Or dans ce cas, tu ne pourras obtenir d'aide que par toi-même, puisque tu y seras le seul posteur. Donc tu as la solution, donc tu n'as pas besoin d'aide, donc tu n'as pas besoin de ce forum, donc ton problème est résolu.
Et maintenant, sois poli, dis merci :)
Florent.
Albert Delay wrote:
Salut,
Désolé, j'ai pose le 24 cette question dans le mauvais forum.
(L'abus d'alcool...)
J'essaye de faire un bout de code C++ pour envoyer des publicités
sur plusieurs forums en meme temps,
C'est encore le mauvais forum (eh oui !).
Essaye plutôt fr.comp.lang.spam mais je ne suis pas sûr qu'il existe,
peut-être devras-tu le créer. Or dans ce cas, tu ne pourras obtenir
d'aide que par toi-même, puisque tu y seras le seul posteur. Donc tu as
la solution, donc tu n'as pas besoin d'aide, donc tu n'as pas besoin de
ce forum, donc ton problème est résolu.
Désolé, j'ai pose le 24 cette question dans le mauvais forum. (L'abus d'alcool...)
J'essaye de faire un bout de code C++ pour envoyer des publicités sur plusieurs forums en meme temps,
C'est encore le mauvais forum (eh oui !).
Essaye plutôt fr.comp.lang.spam mais je ne suis pas sûr qu'il existe, peut-être devras-tu le créer. Or dans ce cas, tu ne pourras obtenir d'aide que par toi-même, puisque tu y seras le seul posteur. Donc tu as la solution, donc tu n'as pas besoin d'aide, donc tu n'as pas besoin de ce forum, donc ton problème est résolu.
Et maintenant, sois poli, dis merci :)
Florent.
Horst Kraemer
On 30 Dec 2003 11:19:39 GMT, Albert Delay wrote:
J'ai une classe de base, NNTPBase,
class NNTPBase { public: int _i; int _j; NNTPBase(int i,int j); // etc... };
NNTPBase::NNTPBase(int i, int j) { _i = i; _j = j; }
// etc...
plus élégant
class NNTPBase { public: int _i; int _j; NNTPBase(int i,int j) : _i(i) , _j(j) {} // etc... };
Je derive NNTPDerived de NNTPBase, mais le constructeur de NNTPDerived recoit une string et non deux int, et avant d'obtenir deux entiers la chaine recue doit etre decomposée et analysée...
Le probleme est donc que je ne peux pas construire NNTPBase dans le constructor initialization list comme ainsi
Je tente donc de faire : NNTPDerived::NNTPDerived(string bla) { // calcule i et j
NNTPBase(i,j);
// ensuite initialise autres membres de NNTPDerived...
Impossible. On ne peut jamais "appeler" un constructeur d'une base. Selon la définition du langage C++ un constructeur de NNTPBase sera appelé automatiquement avant que le constructeur NNTPDerived(string) entre dans son bloc {/*...*/).
L'instruction
NNTPBase(i,j);
construit un *nouveau* objet temporaire du type NNTPBase et le jette...
Une solution est de définir un constructeur
NNTPBase() {}
qui ne fait "rien" (qui sera appelé automatiquement quand la liste d'initialisation de NNTPDerived ne contient rien) et de faire les affectations
_i = <valeur calculée>; _j = <valeur calculée>;
pour la base dans le bloc de NNTPDerived(string).
Une autre solution est de définir deux fonctions geti(string) et getj(string) qui calculent les valeurs nécessaires:
class NNTPDerived: public NNTPBase { int geti(string bla); int getj(string bla); public: NNTPDerived(string bla) : NNTPBase(geti(bla),getj(bla)) {/*.. */} };
Bien entendu les fonctions ne peuvent utiliser aucun membre non statique de NNTPDerived parce que ni NNTPBase ni NNTPDerived n'existent avant l'exécution du constructeur de NNTPBase.
-- Horst
On 30 Dec 2003 11:19:39 GMT, Albert Delay
<ad@doubleclicks.com.invalide> wrote:
J'ai une classe de base, NNTPBase,
class NNTPBase {
public:
int _i;
int _j;
NNTPBase(int i,int j);
// etc...
};
NNTPBase::NNTPBase(int i, int j)
{
_i = i;
_j = j;
}
// etc...
plus élégant
class NNTPBase {
public:
int _i;
int _j;
NNTPBase(int i,int j) : _i(i) , _j(j) {}
// etc...
};
Je derive NNTPDerived de NNTPBase,
mais le constructeur de NNTPDerived
recoit une string et non deux int,
et avant d'obtenir deux entiers la chaine recue
doit etre decomposée et analysée...
Le probleme est donc que je ne peux pas construire NNTPBase
dans le constructor initialization list
comme ainsi
Je tente donc de faire :
NNTPDerived::NNTPDerived(string bla)
{
// calcule i et j
NNTPBase(i,j);
// ensuite initialise autres membres de NNTPDerived...
Impossible. On ne peut jamais "appeler" un constructeur d'une base.
Selon la définition du langage C++ un constructeur de NNTPBase sera
appelé automatiquement avant que le constructeur NNTPDerived(string)
entre dans son bloc {/*...*/).
L'instruction
NNTPBase(i,j);
construit un *nouveau* objet temporaire du type NNTPBase et le
jette...
Une solution est de définir un constructeur
NNTPBase() {}
qui ne fait "rien" (qui sera appelé automatiquement quand la liste
d'initialisation de NNTPDerived ne contient rien) et de faire les
affectations
_i = <valeur calculée>;
_j = <valeur calculée>;
pour la base dans le bloc de NNTPDerived(string).
Une autre solution est de définir deux fonctions geti(string) et
getj(string) qui calculent les valeurs nécessaires:
class NNTPDerived: public NNTPBase {
int geti(string bla);
int getj(string bla);
public:
NNTPDerived(string bla) : NNTPBase(geti(bla),getj(bla)) {/*.. */}
};
Bien entendu les fonctions ne peuvent utiliser aucun membre non
statique de NNTPDerived parce que ni NNTPBase ni NNTPDerived
n'existent avant l'exécution du constructeur de NNTPBase.
class NNTPBase { public: int _i; int _j; NNTPBase(int i,int j); // etc... };
NNTPBase::NNTPBase(int i, int j) { _i = i; _j = j; }
// etc...
plus élégant
class NNTPBase { public: int _i; int _j; NNTPBase(int i,int j) : _i(i) , _j(j) {} // etc... };
Je derive NNTPDerived de NNTPBase, mais le constructeur de NNTPDerived recoit une string et non deux int, et avant d'obtenir deux entiers la chaine recue doit etre decomposée et analysée...
Le probleme est donc que je ne peux pas construire NNTPBase dans le constructor initialization list comme ainsi
Je tente donc de faire : NNTPDerived::NNTPDerived(string bla) { // calcule i et j
NNTPBase(i,j);
// ensuite initialise autres membres de NNTPDerived...
Impossible. On ne peut jamais "appeler" un constructeur d'une base. Selon la définition du langage C++ un constructeur de NNTPBase sera appelé automatiquement avant que le constructeur NNTPDerived(string) entre dans son bloc {/*...*/).
L'instruction
NNTPBase(i,j);
construit un *nouveau* objet temporaire du type NNTPBase et le jette...
Une solution est de définir un constructeur
NNTPBase() {}
qui ne fait "rien" (qui sera appelé automatiquement quand la liste d'initialisation de NNTPDerived ne contient rien) et de faire les affectations
_i = <valeur calculée>; _j = <valeur calculée>;
pour la base dans le bloc de NNTPDerived(string).
Une autre solution est de définir deux fonctions geti(string) et getj(string) qui calculent les valeurs nécessaires:
class NNTPDerived: public NNTPBase { int geti(string bla); int getj(string bla); public: NNTPDerived(string bla) : NNTPBase(geti(bla),getj(bla)) {/*.. */} };
Bien entendu les fonctions ne peuvent utiliser aucun membre non statique de NNTPDerived parce que ni NNTPBase ni NNTPDerived n'existent avant l'exécution du constructeur de NNTPBase.
-- Horst
gpg
Bin didon il est tetu le monsieur.
Ou il est en train de mettre au point une nouvelle variété de troll...
Bin didon il est tetu le monsieur.
Ou il est en train de mettre au point une nouvelle variété de troll...
J'essaye de faire un bout de code C++ pour envoyer des publicités sur plusieurs forums en meme temps, (en fait je suis en train de developper une bibliotheque C++ nntp qui me permettra d'envoyer ces publicités regulierement),
Tiens, on dirait un de ces petits comiques, qui s'affublent d'une fausse barbe et d'un faux turbant, une fausse bombe sous le bras, et qui foncent le 25 décembre en gueulant vers les MPs chargés de la sécurité dans les aéroports américains.
Vous savez, ces gens qui aiment à se faire tirer dessus.
Albert Delay <ad@doubleclicks.com.invalide> writes:
J'essaye de faire un bout de code C++ pour envoyer des publicités
sur plusieurs forums en meme temps, (en fait je suis en train de
developper une bibliotheque C++ nntp qui me permettra d'envoyer ces
publicités regulierement),
Tiens, on dirait un de ces petits comiques, qui s'affublent d'une
fausse barbe et d'un faux turbant, une fausse bombe sous le bras, et
qui foncent le 25 décembre en gueulant vers les MPs chargés de la
sécurité dans les aéroports américains.
Vous savez, ces gens qui aiment à se faire tirer dessus.
J'essaye de faire un bout de code C++ pour envoyer des publicités sur plusieurs forums en meme temps, (en fait je suis en train de developper une bibliotheque C++ nntp qui me permettra d'envoyer ces publicités regulierement),
Tiens, on dirait un de ces petits comiques, qui s'affublent d'une fausse barbe et d'un faux turbant, une fausse bombe sous le bras, et qui foncent le 25 décembre en gueulant vers les MPs chargés de la sécurité dans les aéroports américains.
Vous savez, ces gens qui aiment à se faire tirer dessus.
--drkm
--=-=-=--
Alain Naigeon
"Albert Delay" a écrit dans le message news:
J'essaye de faire un bout de code C++ pour envoyer des publicités sur plusieurs forums en meme temps,
Quelle horreur !
(en fait je suis en train de developper une bibliotheque C++ nntp qui me permettra d'envoyer ces publicités regulierement), mais je n'ai pas ecrit de C++ depuis longtemps...
Ouf...
Merci d'avance de votre aide.
Surtout pas, les copains !!
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
"Albert Delay" <ad@doubleclicks.com.invalide> a écrit dans le message news:
20031230-121939-628500@foorum.com...
J'essaye de faire un bout de code C++ pour envoyer des publicités
sur plusieurs forums en meme temps,
Quelle horreur !
(en fait je suis en train de developper une bibliotheque C++ nntp
qui me permettra d'envoyer ces publicités regulierement),
mais je n'ai pas ecrit de C++ depuis longtemps...
Ouf...
Merci d'avance de votre aide.
Surtout pas, les copains !!
--
Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - anaigeon@free.fr - Strasbourg, France
J'essaye de faire un bout de code C++ pour envoyer des publicités sur plusieurs forums en meme temps,
Quelle horreur !
(en fait je suis en train de developper une bibliotheque C++ nntp qui me permettra d'envoyer ces publicités regulierement), mais je n'ai pas ecrit de C++ depuis longtemps...
Ouf...
Merci d'avance de votre aide.
Surtout pas, les copains !!
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France