161Fermer163
squalylLe 02/06/2014 à 12:59
ah oui... mais qu'est ce qu'il raconte alors dans sa FQA ? hum

#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);
}