 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Philippe Mesmeur Guest
|
Posted: Mon Jan 12, 2004 3:13 pm Post subject: destructeur d'une classe virtuelle pure |
|
|
Hello,
J'ai un p'tit probleme de destructeur. Je voudrai creer une classe
virtuelle pure, c'est a dire une classe dont TOUTES les methodes sont
abstraites (virtual = 0) et qui n'a pas d'attributs.
exemple:
class I_A
{
public:
virtual void firstMethod() = 0;
virtual void secondMethod() = 0;
};
Cette classe est implementee par:
class A
{
public:
A();
~A();
public:
virtual void firstMethod();
virtual void secondMethod();
};
ma classe I_A est instanciee par:
I_A* myClass = new A();
cependant, j'ai un probleme pour le destructeur. quand je fais:
delete myClass;
je ne passe pas dans le corp de ~A()
Si je passe ~A() en virtuel ca ne change rien.
Si je declare un constructeur absatrait a I_A:
virtual ~I_A() = 0;
je linker me dis qu'il ne trouve pas la definition de ~I_A et ne peut
proceder.
Avez vous une idee de comment resoudre mon problem?
J'ai vaguement entendu parler de classes virtuelles (virtual class???)
ou d'heritage virtuel: est-ce la reponse a mon probleme?????
Merci beaucoup pour votre aide.
Philippe
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Mon Jan 12, 2004 3:36 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Philippe Mesmeur wrote:
| Quote: | Hello,
J'ai un p'tit probleme de destructeur. Je voudrai creer une classe
virtuelle pure, c'est a dire une classe dont TOUTES les methodes sont
abstraites (virtual = 0) et qui n'a pas d'attributs.
|
Ce n'est pas la définition d'une classe virtuelle pure. Ca correspond
plus à ce que JAVA appèlle une intrface, et qui est souvent AMA une
mauvaise idée en C++.
| Quote: | class I_A
{
public:
virtual void firstMethod() = 0;
virtual void secondMethod() = 0;
};
|
Tu n'as pas de destructeur virtuel, ce qui va te causer des problèmes.
| Quote: | Cette classe est implementee par:
class A
{
public:
A();
~A();
public:
virtual void firstMethod();
virtual void secondMethod();
};
ma classe I_A est instanciee par:
I_A* myClass = new A();
cependant, j'ai un probleme pour le destructeur. quand je fais:
delete myClass;
je ne passe pas dans le corp de ~A()
|
C'est encore pire que ça : Tu pourrais avoir un plantage complet de ton
programme.
| Quote: | Si je passe ~A() en virtuel ca ne change rien.
Normal |
| Quote: |
Si je declare un constructeur absatrait a I_A:
Destructeur, voulais tu dire. |
| Quote: | virtual ~I_A() = 0;
je linker me dis qu'il ne trouve pas la definition de ~I_A et ne peut
proceder.
|
Normal, tu n'a pas défini cette fonction. Un destructeur virtuel doit
toujours être défini, puisqu'il sera automatiquement appelé par les
destructeurs des classes dérivées.
| Quote: |
Avez vous une idee de comment resoudre mon problem?
|
Oui, défini ce destructeur : virtual ~I_A() {}
Tu peux même le déclarer =0 et le définir quand même, mais dans ce cas,
je considèrerais ça comme de l'obfuscation.
| Quote: | J'ai vaguement entendu parler de classes virtuelles (virtual class???)
ou d'heritage virtuel: est-ce la reponse a mon probleme?????
|
Non, l'héritage virtuel est en rapport avec l'héritage multiple.
--
Loïc
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Mon Jan 12, 2004 3:40 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Philippe Mesmeur <pmes (AT) ocegr (DOT) fr> writes:
| Quote: | J'ai un p'tit probleme de destructeur. Je voudrai creer une
classe virtuelle pure, c'est a dire une classe dont TOUTES les
methodes sont abstraites (virtual = 0) et qui n'a pas d'attributs.
|
methode est un mot a eviter en C++, car ambigu (signifiant au choix
fonction membre ou fonction membre virtuelle)
| Quote: | exemple:
class I_A
{
public:
virtual void firstMethod() = 0;
virtual void secondMethod() = 0;
};
|
En regle generale, toute classe ayant des fonctions virtuelles doit
avoir son destructeur virtuel. (Ce n'est reellement necessaire que si
on detruit jamais qu'a partir d'un pointeur vers les classes les plus
derivees ce qui peut arriver par conception, auquel cas l'info est
utilisable, ou par chance, auquel cas il vaut mieux ne pas profiter de
la chose).
| Quote: | Cette classe est implementee par:
class A
{
public:
A();
~A();
public:
virtual void firstMethod();
virtual void secondMethod();
};
ma classe I_A est instanciee par:
I_A* myClass = new A();
cependant, j'ai un probleme pour le destructeur. quand je fais:
delete myClass;
je ne passe pas dans le corp de ~A()
|
Tu as de la chance, il pourrait arriver a peu pres n'importe quoi.
| Quote: | Si je passe ~A() en virtuel ca ne change rien.
|
C'est le destructeur de I_A qui doit etre virtuel.
| Quote: | Si je declare un constructeur absatrait a I_A:
virtual ~I_A() = 0;
je linker me dis qu'il ne trouve pas la definition de ~I_A et ne peut
proceder.
|
Toute fonction virtuelle pure peut etre definie. Le destructeur doit
etre definit. Par exemple de maniere inline, ce qu'il n'est pas
possible de faire dans la classe donc
inline I_A::~I_A()
{
}
| Quote: | Avez vous une idee de comment resoudre mon problem?
J'ai vaguement entendu parler de classes virtuelles (virtual class???) ou
d'heritage virtuel: est-ce la reponse a mon probleme?????
|
C'est la reponse a un autre probleme qui n'a lieu qu'avec de
l'heritage multiple (comment eviter qu'on herite plusieurs fois de la
meme classe de base), mais la description (aucun membre donnee) et le
nom (commencant par I_ pour interface je suppose) de ta classe laisse
a penser que heriter de I_A devrait etre fait de maniere virtuelle si
de l'heritage multiple se fait quelque par avec cette classe comme
classe de base.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Mon Jan 12, 2004 3:48 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
| Quote: | Philippe Mesmeur wrote:
Hello,
J'ai un p'tit probleme de destructeur. Je voudrai creer une classe
virtuelle pure, c'est a dire une classe dont TOUTES les methodes sont
abstraites (virtual = 0) et qui n'a pas d'attributs.
Ce n'est pas la définition d'une classe virtuelle pure. Ca
correspond plus à ce que JAVA appèlle une intrface, et qui est
souvent AMA une mauvaise idée en C++.
|
Pourquoi serait-ce une plus mauvaise idee en C++ qu'en Java?
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
|
|
| Back to top |
|
 |
Philippe Mesmeur Guest
|
Posted: Mon Jan 12, 2004 4:00 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Merci de m'avoir repondu si rapidement :-)
Je suis tout a fait d'accord avec toi quand tu parles d'interface.
C'est meme ma signification que je donne au "I" de ma classe "I_A" ;-)
Pour moi, une interface est une definition mais pas une
implementation. C'est pour ca que je veux faire en sorte que ma classe
I_A ai toutes ces methodes abstraite, i.e. virtual = 0.
Ainsi, je voudrai faire en sorte qu'il n'y ai pas de code pour
I_A::~I_A(); D'apres ce que je comprend de ta reponse, tu me dis que je
suis quand meme oblige de le faire, meme si c'est du code vide, style:
I_A::~I_A()
{}
C'est bien ca?
Encore merci
Loïc Joly wrote:
| Quote: | Philippe Mesmeur wrote:
Hello,
J'ai un p'tit probleme de destructeur. Je voudrai creer une classe
virtuelle pure, c'est a dire une classe dont TOUTES les methodes sont
abstraites (virtual = 0) et qui n'a pas d'attributs.
Ce n'est pas la définition d'une classe virtuelle pure. Ca correspond
plus à ce que JAVA appèlle une intrface, et qui est souvent AMA une
mauvaise idée en C++.
class I_A
{
public:
virtual void firstMethod() = 0;
virtual void secondMethod() = 0;
};
Tu n'as pas de destructeur virtuel, ce qui va te causer des problèmes.
Cette classe est implementee par:
class A
{
public:
A();
~A();
public:
virtual void firstMethod();
virtual void secondMethod();
};
ma classe I_A est instanciee par:
I_A* myClass = new A();
cependant, j'ai un probleme pour le destructeur. quand je fais:
delete myClass;
je ne passe pas dans le corp de ~A()
C'est encore pire que ça : Tu pourrais avoir un plantage complet de ton
programme.
Si je passe ~A() en virtuel ca ne change rien.
Normal
Si je declare un constructeur absatrait a I_A:
Destructeur, voulais tu dire.
virtual ~I_A() = 0;
je linker me dis qu'il ne trouve pas la definition de ~I_A et ne peut
proceder.
Normal, tu n'a pas défini cette fonction. Un destructeur virtuel doit
toujours être défini, puisqu'il sera automatiquement appelé par les
destructeurs des classes dérivées.
Avez vous une idee de comment resoudre mon problem?
Oui, défini ce destructeur : virtual ~I_A() {}
Tu peux même le déclarer =0 et le définir quand même, mais dans ce cas,
je considèrerais ça comme de l'obfuscation.
J'ai vaguement entendu parler de classes virtuelles (virtual class???)
ou d'heritage virtuel: est-ce la reponse a mon probleme?????
Non, l'héritage virtuel est en rapport avec l'héritage multiple.
|
|
|
| Back to top |
|
 |
Michel Michaud Guest
|
Posted: Mon Jan 12, 2004 4:23 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Dans news:4002C4A9.4050802 (AT) ocegr (DOT) fr, Philippe Mesmeur <pmes (AT) ocegr (DOT) fr>
a écrit :
| Quote: | Pour moi, une interface est une definition mais pas une
|
Définition ou plutôt déclaration ?
| Quote: | implementation. C'est pour ca que je veux faire en sorte que ma
classe I_A ai toutes ces methodes abstraite, i.e. virtual = 0.
|
Pourquoi ?
| Quote: |
Ainsi, je voudrai faire en sorte qu'il n'y ai pas de code pour
I_A::~I_A(); D'apres ce que je comprend de ta reponse, tu me dis
|
Pourquoi c'est important qu'il n'y ait pas de code ? Ça me paraît
une drôle de contrainte...
| Quote: | que je suis quand meme oblige de le faire, meme si c'est du code
vide, style:
I_A::~I_A()
{}
C'est bien ca?
|
Oui. Mais encore une fois, pourquoi veux-tu forcer ceux qui
hériteront à définir un constructeur (c'est ce qui arrivera si
tu le déclares avec = 0, même si tu fournis la fonction vide) ?
Comment sais-tu qu'il y aura un besoin d'y mettre quelque
chose dans les classes dérivées ?
--
Michel Michaud [email]mm (AT) gdzid (DOT) com[/email]
http://www.gdzid.com
FAQ de fr.comp.lang.c++ :
http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ/
|
|
| Back to top |
|
 |
Christophe Lephay Guest
|
Posted: Mon Jan 12, 2004 6:31 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Jean-Marc Bourguet wrote:
| Quote: | Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
Ce n'est pas la définition d'une classe virtuelle pure. Ca
correspond plus à ce que JAVA appèlle une intrface, et qui est
souvent AMA une mauvaise idée en C++.
Pourquoi serait-ce une plus mauvaise idee en C++ qu'en Java?
|
Parce qu'en C++ on peut faire autrement ?
Chris
|
|
| Back to top |
|
 |
Vincent Richard Guest
|
Posted: Mon Jan 12, 2004 6:37 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Le Lundi 12 Janvier 2004 19:31, Christophe Lephay a écrit :
| Quote: | Jean-Marc Bourguet wrote:
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
Ce n'est pas la définition d'une classe virtuelle pure. Ca
correspond plus à ce que JAVA appèlle une intrface, et qui est
souvent AMA une mauvaise idée en C++.
Pourquoi serait-ce une plus mauvaise idee en C++ qu'en Java?
Parce qu'en C++ on peut faire autrement ?
|
Je suis curieux de découvrir les alternatives (si ça se trouve, je les
connais peut-être déjà, mais ça ne me saute pas aux yeux dans ce cas
précis...).
Merci d'avance.
Vincent
--
vmime, une bibliothèque C++ sous licence GPL pour parser et générer
des messages au format MIME : http://www.sourceforge.net/projects/vmime/
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Mon Jan 12, 2004 8:07 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Jean-Marc Bourguet wrote:
| Quote: | Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
Philippe Mesmeur wrote:
Hello,
J'ai un p'tit probleme de destructeur. Je voudrai creer une classe
virtuelle pure, c'est a dire une classe dont TOUTES les methodes sont
abstraites (virtual = 0) et qui n'a pas d'attributs.
Ce n'est pas la définition d'une classe virtuelle pure. Ca
correspond plus à ce que JAVA appèlle une intrface, et qui est
souvent AMA une mauvaise idée en C++.
Pourquoi serait-ce une plus mauvaise idee en C++ qu'en Java?
|
Parce qu'en JAVA, comme on n'a qu'une version limitée à ce que JAVA
appelle interface de l'héritage multiple, on ne peut souvent pas faire
autrement.
En C++, on peut dans la classe de base vérifier les pré/post-conditions,
alors pourquoi s'en priver !
--
Loïc
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Tue Jan 13, 2004 8:07 am Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
"Christophe Lephay" <christophe-lephay (AT) wanadoo (DOT) fr> writes:
| Quote: | Jean-Marc Bourguet wrote:
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
Ce n'est pas la définition d'une classe virtuelle pure. Ca
correspond plus à ce que JAVA appèlle une intrface, et qui est
souvent AMA une mauvaise idée en C++.
Pourquoi serait-ce une plus mauvaise idee en C++ qu'en Java?
Parce qu'en C++ on peut faire autrement ?
|
Qu'est-ce qu'on peut faire autrement? (Je ne sais pas pour quoi c'est
utilise en Java... et l'exemple qui a commence la discussion est
suffisemment peu explicite sur ses intentions pour que je n'arrive pas
a donner un avis sur l'oportunite d'utiliser cette technique).
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
|
|
| Back to top |
|
 |
Jean-Marc Bourguet Guest
|
Posted: Tue Jan 13, 2004 8:10 am Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
| Quote: | Jean-Marc Bourguet wrote:
Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
Philippe Mesmeur wrote:
Hello,
J'ai un p'tit probleme de destructeur. Je voudrai creer une classe
virtuelle pure, c'est a dire une classe dont TOUTES les methodes sont
abstraites (virtual = 0) et qui n'a pas d'attributs.
Ce n'est pas la définition d'une classe virtuelle pure. Ca
correspond plus à ce que JAVA appèlle une intrface, et qui est
souvent AMA une mauvaise idée en C++.
Pourquoi serait-ce une plus mauvaise idee en C++ qu'en Java?
Parce qu'en JAVA, comme on n'a qu'une version limitée à ce que JAVA appelle
interface de l'héritage multiple, on ne peut souvent pas faire autrement.
En C++, on peut dans la classe de base vérifier les pré/post-conditions,
alors pourquoi s'en priver !
|
Si c'est simplement a cause du manque de membre non virtuel en Java,
ce n'est pas quelque chose qui me semble fondamentalement different.
Ce que je jugerais fondamentalement different, c'est l'utilisation de
membres donnees.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Tue Jan 13, 2004 10:32 am Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Jean-Marc Bourguet <jm (AT) bourguet (DOT) org> wrote
| Quote: | Loïc Joly <loic.actarus.joly (AT) wanadoo (DOT) fr> writes:
Philippe Mesmeur wrote:
J'ai un p'tit probleme de destructeur. Je voudrai creer une
classe virtuelle pure, c'est a dire une classe dont TOUTES les
methodes sont abstraites (virtual = 0) et qui n'a pas d'attributs.
Ce n'est pas la définition d'une classe virtuelle pure. Ca
correspond plus à ce que JAVA appèlle une intrface, et qui est
souvent AMA une mauvaise idée en C++.
Pourquoi serait-ce une plus mauvaise idee en C++ qu'en Java?
|
Je ne suis pas sûr s'il parle du langage, ou de son utilisation. Ça
serait une bien mauvaise idée de créer un nouveau catégorie de type,
interface, in C++. Comme c'était une mauvaise idée en Java.
S'il parle de l'utilisation, c'est autre chose. J'utilise bien des
« interfaces » en C++. Mais la définition n'est pas la même que le mot
clé « interface » en Java -- en fait, même en Java, quand je veux écrire
une « interface » (sens logique), je suis obligée à utiliser une classe
abstraite, et non une interface (mot clé). Et encore, parce qu'en
générale, dans une classe d'interface, les fonctions virtuelles sont
privées, ce qui n'est même pas possible en Java.
--
James Kanze GABI Software mailto:kanze (AT) gabi-soft (DOT) fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
|
|
| Back to top |
|
 |
kanze@gabi-soft.fr Guest
|
Posted: Tue Jan 13, 2004 10:51 am Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Philippe Mesmeur <pmes (AT) ocegr (DOT) fr> wrote
| Quote: | Je suis tout a fait d'accord avec toi quand tu parles d'interface.
C'est meme ma signification que je donne au "I" de ma classe "I_A" ;-)
Pour moi, une interface est une definition mais pas une
implementation.
|
C'est une définition de l'interface du type, sans l'implémentation de
son comportement.
| Quote: | C'est pour ca que je veux faire en sorte que ma classe I_A ai toutes
ces methodes abstraite, i.e. virtual = 0.
|
Ne confondons pas le concepte et son implémentation. En C++, une
interface s'implémente au moyen d'une classe.
Note bien que même en Java, il n'est pas rare d'implémenter le concepte
d'interface au moyen d'une classe abstraite (c'est même la seule façon,
pour peu qu'on veut être rigueureux), et d'utiliser l'interface du
langage pour d'autres choses qui n'ont rien à voir avec le concepte
logique d'interface. En général, quelque soit le langage, il ne faut pas
s'attendre à ce que le fait qu'un mot clé du langage correspond à un
concepte qu'il y a identité entre les utilisations de ce mot clé et le
concepte.
En C++, l'idiome classique d'une interface, en ce qui me concerne, est :
class I
{
public:
virtual ~I() {}
void f()
{
// Vérifier les préconditions...
doF() ;
// Vérifier les postconditions...
}
int g()
{
// Vérifier les préconditions...
int result = doG() ;
// Vérifier les postconditions...
return result ;
}
// ...
protected:
I() {}
private:
I( I const& ) ;
I& operator=( I const& ) ;
private :
virtual void f() = 0 ;
virtual int g() = 0 ;
// ...
} ;
Le caractèristique principal, c'est que pour chaque fonction publique,
il y a une fonction privée virtuelle correspondante. Typiquement, il n'y
a pas de membres données, et le destructeur est inline pour qu'on voit
immédiatement qu'il n'a pas de sémantique. Les fonctions publiques
peuvent aussi être inline, parce que tout ce qu'elles contient est le
contrat, qui fait partie de l'interface. C'est aussi plutôt rare qu'une
interface supporte la copie et l'affectation, d'où les déclarations
privées (et la declaration du constructeur de copie fait qu'il me faut
une définition d'au moins un autre constructeur).
Mais c'est ma convention ; il y en a d'autres. Même chez moi, j'ai un
autre idiome pour les visiteurs et les callback (où les fonctions
virtuelles sont publiques), même si logiquement, il s'agit aussi d'une
sorte d'interface.
| Quote: | Ainsi, je voudrai faire en sorte qu'il n'y ai pas de code pour
I_A::~I_A(); D'apres ce que je comprend de ta reponse, tu me dis que
je suis quand meme oblige de le faire, meme si c'est du code vide,
style:
I_A::~I_A()
{}
C'est bien ca?
|
Oui.
--
James Kanze GABI Software mailto:kanze (AT) gabi-soft (DOT) fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
|
|
| Back to top |
|
 |
Loïc Joly Guest
|
Posted: Tue Jan 13, 2004 11:06 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
[email]kanze (AT) gabi-soft (DOT) fr[/email] wrote:
| Quote: | En C++, l'idiome classique d'une interface, en ce qui me concerne, est :
class I
{
public:
virtual ~I() {}
void f()
{
// Vérifier les préconditions...
doF() ;
// Vérifier les postconditions...
}
int g()
{
// Vérifier les préconditions...
int result = doG() ;
// Vérifier les postconditions...
return result ;
}
// ...
protected:
I() {}
private:
I( I const& ) ;
I& operator=( I const& ) ;
private :
|
// petite typo qui peut nuire à la compréhension :
| Quote: | virtual void f() = 0 ;
virtual void doF() = 0;
virtual int g() = 0 ;
virtual int doG() = 0; |
--
Loïc
|
|
| Back to top |
|
 |
Laurent DELEPINE Guest
|
Posted: Thu Jan 22, 2004 12:20 pm Post subject: Re: destructeur d'une classe virtuelle pure |
|
|
Loïc Joly wrote:
| Quote: | En C++, on peut dans la classe de base vérifier les pré/post-conditions,
alors pourquoi s'en priver !
|
Comment fait on pour vérifer les pre et post conditions dans la classe
de base. L'une ou l'autre je vois, mais les deux, je seche.
LD
--
Vous avez souscris un forfait ADSL chez Free
Votre connexion est inutilisable a certaines heures
Free refuse de vous dépanner
Contactez : [email]problemes.internet (AT) webiologie (DOT) org[/email]
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|