begin process at 2012 05 30 01:34:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Débutant(e)

 > 

problème d'accès


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème d'accès

lundi 14 février 2011 à 22:06:10 | problème d'accès

jimdano

Bonjour, je viens de commencer le c++ il y a 4 semaines, en IUT.
Je suis confronté à un problème, pour un projet, j'ai un problème d'accès, l'éxécuteur me met cette erreur :

Code :
./src/CProduitBase.h:19: error: ‘void CProduitBase::setCateg(short int)’ is inaccessible
./src/testCProduit.cpp:16: error: within this context
./src/testCProduit.cpp:16: error: ‘CProduitBase’ is not an accessible base of ‘CProduit’
./src/CProduitBase.h:15: error: ‘short int CProduitBase::getCateg()’ is inaccessible
./src/testCProduit.cpp:17: error: within this context
./src/testCProduit.cpp:17: error: ‘CProduitBase’ is not an accessible base of ‘CProduit’


voici le code de la partie fausse : CProduitBase.h

Code C/C++ :
#ifndef CPRODUITBASE_H

#define CPRODUITBASE_H



#include "BiblioStd.h"



// Défintion de la classe CProduitBase

class CProduitBase {
	// les attributs

	protected:

		short  m_Categ;

		string m_Code;
	// les fonctions utilisées

	public:
		// permet de récupérer la catégorie 

		short getCateg(); 		
		// permet de récupérer le code le l'objet

		string getCode();
		// permet de définir une catégorie

		void setCateg(short uneCateg);
		// le modificateur de m_Code
		virtual void MakeCode(int NumProd, int numPal) = 0;
		// Destructeur nécessaire à la libération des zones mémoires dynamiques.

		virtual ~CProduitBase();

};

#endif


CProduitBase.cpp :
Code C/C++ :
#include "CProduitBase.h"


/* accesseur de m_Categ */

short CProduitBase :: getCateg(){

	return m_Categ;

}



/*******************************/


/* accesseur de m_Code */

string CProduitBase :: getCode(){

	return m_Code;

}



/*******************************/


/* Modificateur de m_Categ */

void CProduitBase :: setCateg(short uneCateg){

	this->m_Categ = uneCateg;

}



/******************************/


/* Destructeur de CProduitBase */

CProduitBase :: ~CProduitBase(){

	cout << 
this << endl;

}

et CProduit qui utilise la classe CproduitBase, c'est ici que je n'arrive pas a reprendre les attributs de CProduitBase :

CProduit.h :

Code C/C++ :
#ifndef CPRODUIT_H

#define CPRODUIT_H
// la taille permet de générer un nombre aléatoire.

#define TAILLE 20



#include "CProduitBase.h"

#include "BiblioStd.h"



// Défintion de la classe CProduit

class CProduit : protected CProduitBase  {

 	// les attributs

	private:

		float m_Long;

		float m_Larg;

		float m_Haut;
	// les fonctions

	public:
		//le constructeur

		CProduit();
		//les différents accesseurs des attributs

		float getLargeur();

		float getLong();

		float getHauteur();
		//la redéfinition de la classe Make Code

		void MakeCode(int NumProd, int NumPal);


		// la fonction "amie"

		friend ostream &operator << (ostream &os, CProduit& unProd);

};

#endif



et enfin, CProduit.cpp

Code C/C++ :
#include "CProduit.h"


/* le constructeur de la classe*/

CProduit :: CProduit(){

	m_Long = rand()%TAILLE;

	m_Haut = rand()%TAILLE;

	m_Larg = rand()%TAILLE;

}



/***********************/


/*l'accesseur a la variable m_Larg*/	

float CProduit :: getLargeur(){

	return m_Larg;

}



/***********************/


/* l'accesseur de la variable m_Long*/

float CProduit :: getLong(){

	return m_Long;

}



/***********************/


/* l'accesseur de la variable m_Haut*/

float CProduit :: getHauteur(){

	return m_Haut;

}



/***********************/


/*il s'agit du modificateur de l'attribut m_Code*/

void CProduit :: MakeCode(int NumProd, int NumPal){

	string oss;

	oss += " << Produit <<";

	oss += NumProd;

	oss += " << -Cat <<" ;

	oss += NumPal;

	oss += " << Pal <<";

	oss += m_Categ;

	m_Code = oss;

}



/***********************/


/*fonction amie qui va permettre d'afficher un Produit en appelant le
produit voulut directement*/

ostream &operator<< ( ostream &os, CProduit& unProd ){

	os << " La longeur : " << unProd.m_Long << endl;

	os << " La largeur : " << unProd.m_Larg << endl;

	os << " La hauteur : " << unProd.m_Haut << endl;

	os << " laCatégorie : " << unProd.m_Categ <<endl;

	os << " le Code : " << unProd.m_Code <<endl;

	return os;

}

/***********************/


je comprends ceux qui abandonnent avant la fin de la lecture, et je suis navré d'en arriver la...^^

Merci d'avance et bonne soirée a tous !!!! =)
mardi 15 février 2011 à 09:26:50 | Re : problème d'accès

buno

Administrateur CodeS-SourceS
Réponse acceptée !
Yop!
Et si tu changes l'héritage de protected à public?
Code C/C++ :
class CProduit : public CProduitBase


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
mardi 15 février 2011 à 20:00:23 | Re : problème d'accès

jimdano

Merci, c'était tout con en fait ^^
mardi 15 février 2011 à 21:04:21 | Re : problème d'accès

buno

Administrateur CodeS-SourceS
Il suffit souvent de 3 fois rien...

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...


Cette discussion est classée dans : code, cpp, float, cproduit, cproduitbase


Répondre à ce message

Sujets en rapport avec ce message

HELP !!! Après plantage fichiers cpp transformés en binaire : code perdu !!!!! [ par ngryman ] J'y crois pas ! J'ai lancé mon progrmme, il a planté, une erreur windows s'est produite et j'ai redémarré mon pc, et après le fichier cpp principal de problème de variables [ par Adeon ] salut! regardez ces lignesdans principal.cpp :#include #include "sous_partie.cpp"void enregistre_variable();void main(){< Code QBasic à convertir Cpp [ par SneakGuy ] Salut, j'ai besoin d'aide pour convertir ce code QBasic en Cpp...*Désoler, tous les signes"plus" sont remplacés par la lettre p. Merci.CLSFOR x = 1 INI :: AIDEZ MOI SVP !! [ par bdkiller ] Bonjour,Je suis newbie dans le Cpp. J'utilise Borland Cpp Builder.J'ai un petit problème avec les fichiers ini. Et vu que je n'arrive pas à le résoudr arrays [ par Le_clezio ] J'ai une erreur de syntax quand j'appelle la fonction printResult, comment dois l'appeler?Voici mon code:"Area = triangleArea(fHeight, fBase); // st paramètre par défaut et référence [ par Jula ] Bonjour à tous,voici un morceau de code récupéré sur HP-UX:vector * > rend_LOWMEMCuvescan (int rep, RSTypeProj ty, connection BDD en C [ par naru ] Bjr J'ai un code dans lequel je dois modifier le chemin de la bdd, et rentrer les paramètres de l'utilisteur (login/pass). Seulement, je ne vois pas Probleme de rechercher dans un arbre [ par raton ] Voila. J'ai un arbre binaire qui stock des classe CProduit. Et je veux faire une recherche dedans. La fonction que j'ai fait pour l'instant fait plant Erreur: invalid use of `this' in non-member function & `int' is not an aggregate type [ par GrosTony ] Bonjour,J'ai un problème avec une Classe C++, voici le tracé des erreurs :$ makeg++ -c -O4 -W -g -Wall -o Nuage.o Nuage.cppNuage.cpp:4: ISO C++ forbid Code ASM dans projet CPP [ par FearBlue ] Slt a tous !!!$Je dev une appli en Cpp et je desire inclure de L'asm dedansJe compile avec gccVoici ce que je fais et ca fait grosse erreur :(:(:(:(  


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales