Rechercher : dans
Par :

Pattern Visiteur problemes ++

madeinloveyou, le 3 jui 2009 à 00:55:22 
 Signaler ce message aux modérateurs

Bonjour,
j'utilise le pattern visiteur et je n'arrive pas à débuger toutes les séries d'erreurs !!
pourriez-vous m'aidez s'il vous plait ??

voilà le code:

#include <iostream>

using namespace std;
class Tarif;
class Pourcentage;

class Film {

protected:
	float prix;
public:
	Film(float f = 0) {
		prix = f;
	}
	float getPrix() {
		return prix;
	}
	virtual float setPourcent(Pourcentage& p) = 0;
};

class Exclusivite : public Film {

	Exclusivite(float prix) :
		Film(prix) {
	}
	float setPourcent(Pourcentage& p);
};

class Standard : public Film {

	Standard(float prix) :
		Film(prix) {
	}
	float setPourcent(Pourcentage& p);
};

class Reprise : public Film {

	Reprise(float prix) :
		Film(prix) {
	}
	float setPourcent(Pourcentage& p);
};

class Pourcentage {

	virtual float setPourcent(Exclusivite ex, Pourcentage& p) = 0;
	virtual float setPourcent(Standard std, Pourcentage& p) = 0;
	virtual float setPourcent(Reprise rep, Pourcentage& p) = 0;
};

class PourcentageGaumont : public Pourcentage {

	float setPourcent(Exclusivite ex, Pourcentage& p);
	float setPourcent(Standard std, Pourcentage& p);
	float setPourcent(Reprise rep, Pourcentage& p);
};

class PourcentagePathe : public Pourcentage {

	float setPourcent(Exclusivite ex, Pourcentage& p);
	float setPourcent(Standard std, Pourcentage& p);
	float setPourcent(Reprise rep, Pourcentage& p);
};
class Client {

protected:
	const char* nom;
public:

	virtual float prixAPayer(Tarif& price, Film mo) = 0;
};

class Lambda : public Client {

public:
	Lambda(const char* name) {

		nom = name;
	}
	float prixAPayer(Tarif& price, Film mo);
};

class Etudiant : public Client {

public:
	Etudiant(const char* name) {

		nom = name;
	}
	float prixAPayer(Tarif& price, Film mo);
};

class Enfant : public Client {

public:
	Enfant(const char* name) {

		nom = name;
	}
	float prixAPayer(Tarif& price, Film mo);
};

class Senior : public Client {

public:
	Senior(const char* name) {

		nom = name;
	}
	float prixAPayer(Tarif& price, Film mo);
};

class Tarif {

public:
	virtual float definirPrix(Lambda& lamb, Film) = 0;
	virtual float definirPrix(Etudiant& etu, Film) = 0;
	virtual float definirPrix(Enfant& lamb, Film) = 0;
	virtual float definirPrix(Senior& lamb, Film) = 0;
};

class TarifCourant : public Tarif {

public:
	float definirPrix(Lambda& lamb, Film);
	float definirPrix(Etudiant& etu, Film);
	float definirPrix(Enfant& enf, Film);
	float definirPrix(Senior& sen, Film);
};

class TarifVacances : public Tarif {

public:
	float definirPrix(Lambda& lamb, Film);
	float definirPrix(Etudiant& etu, Film);
	float definirPrix(Enfant& enf, Film);
	float definirPrix(Senior& sen, Film);
};

float Lambda::prixAPayer(Tarif& price, Film mo) {
	return price.definirPrix(*this, mo);
}

float Etudiant::prixAPayer(Tarif& price, Film mo) {
	return price.definirPrix(*this, mo);
}

float Enfant::prixAPayer(Tarif& price, Film mo) {
	return price.definirPrix(*this, mo);
}

float Senior::prixAPayer(Tarif& price, Film mo) {
	return price.definirPrix(*this, mo);
}

float TarifCourant::definirPrix(Lambda& lamb, Film mov) {

	return 8;
}

float TarifCourant::definirPrix(Etudiant& etu, Film mov) {

	return 0, 25*mov.getPrix();
}

float TarifCourant::definirPrix(Enfant& enf, Film mov) {

	return 5;
}

float TarifCourant::definirPrix(Senior& sen, Film mov) {

	return 0, 5*mov.getPrix();
}

float TarifVacances::definirPrix(Lambda& lamb, Film mov) {

	return 7;
}

float TarifVacances::definirPrix(Etudiant& etu, Film mov) {

	return 0, 20*mov.getPrix();
}

float TarifVacances::definirPrix(Enfant& enf, Film mov) {

	return 4;
}

float TarifVacances::definirPrix(Senior& sen, Film mov) {

	return 0, 7*mov.getPrix();
}

int main(int argc, char* argv[]) {

	Film mov(12);
	Tarif* t = new TarifVacances();
	Lambda lam("Splint X");

	cout << lam.prixAPayer(*t, mov) <<endl;
}


Merci d'avance j'en ai vraiment besoin ... c'est urgent !!
Connaître les autres, c’est sagesse. Se connaître soi-même, c’est sagesse supérieure. - Imposer sa volonté aux autres, c’est force. Se l’imposer à soi-même, c’est force supérieure.

Meilleures réponses pour « Pattern Visiteur problemes ++ » dans :
Créer sa carte de visite en ligne Voir [http://static.commentcamarche.net/... Grâce aux outils de création en ligne de carte de visite, vous pouvez créer vous-même votre carte de visite en quelques clics. La carte de visite : mode d’emploi Pourquoi ? Le format Le papier La...
Supprimer totalement les traces de nos visites sur internet VoirAvec Internet Explorer Pour pouvoir supprimer les traces d'une ou plusieurs visites sur des sites, il existe (tout le monde le sait) EFFACER L'HISTORIQUE dans le menu outil sur internet explorer. Et bien sachez que parfois, il peut rester des...
[PHP] Comment afficher l'adresse IP d'un visiteur ? VoirPour afficher l'adresse IP d'un visiteur sur votre site, insérez ce code dans la zone où vous voulez qu'elle s'affiche.