ah oui... mais qu'est ce qu'il raconte alors dans sa FQA ?

#include <iostream>
class ALaKon {
int val;
char truc[42];
};
class Machin {
public:
void UtiliseUnConst(const ALaKon obj);
void UtiliseUnPasConst(ALaKon obj);
void Chieur(const ALaKon *ptr);
void UtiliseUnPtrConst(const ALaKon *ptr);
void UtiliseUnPtrPasConst(ALaKon *ptr);
};
void Machin::Chieur(const ALaKon *ptr) {
std::cout << "Plop";
}
void Machin::UtiliseUnConst(const ALaKon truc) {
std::cout << "niqued\n";
this->Chieur(&truc);
}
void Machin::UtiliseUnPasConst(ALaKon truc) {
std::cout << "oki\n";
this->Chieur(&truc);
}
void Machin::UtiliseUnPtrConst(const ALaKon *truc) {
std::cout << "niqued\n";
this->Chieur(truc);
}
void Machin::UtiliseUnPtrPasConst(ALaKon *truc) {
std::cout << "oki\n";
this->Chieur(truc);
}
int main(int argc, char **argv) {
ALaKon pwic, *plop;
Machin bidule;
bidule.Machin::UtiliseUnPasConst(pwic);
bidule.Machin::UtiliseUnConst(pwic);
plop = &pwic;
bidule.Machin::UtiliseUnPtrPasConst(plop);
bidule.Machin::UtiliseUnPtrConst(plop);
}