Encapsulation
Billgates954
Messages postés
15
Statut
Membre
-
KX Messages postés 19031 Statut Modérateur -
KX Messages postés 19031 Statut Modérateur -
Bonjour, j'ai du mal avec ce concepte là de la POO(programmation Orienté Objet) . Je suis étudiant en informatique et je dois programmer un software complet en C++.
ceci est un software de gestion universel. Es ce que quelqu'un sais comment je dois déclarer mes attribut dans le constructeur pour que les attribut soient déclarés.
je tape le code suivant:
class Module
{
public:
Module()
{
m_ZFS=40000;
m_ouverture=1;
m_conexion=1;
~Module();
int Module::Initialisation()
{
};
int Module::connexion()
{
m_ZFS.connexion();
};
int Module::ouverture()
{
m_ouverture.Module();
};
int Module::ZFS()
{
m_conexion. ZFS();
};
};
le compilo me sort que mes attributs ne son pas déclaré.
En vous remerciant.
ceci est un software de gestion universel. Es ce que quelqu'un sais comment je dois déclarer mes attribut dans le constructeur pour que les attribut soient déclarés.
je tape le code suivant:
class Module
{
public:
Module()
{
m_ZFS=40000;
m_ouverture=1;
m_conexion=1;
~Module();
int Module::Initialisation()
{
};
int Module::connexion()
{
m_ZFS.connexion();
};
int Module::ouverture()
{
m_ouverture.Module();
};
int Module::ZFS()
{
m_conexion. ZFS();
};
};
le compilo me sort que mes attributs ne son pas déclaré.
En vous remerciant.
1 réponse
Quels sont les type de tes m_ ?
Tu initialises m_ZFS comme un entier, mais tu l'utilises comme un objet !
Sinon tout simplement au début de ta classe tu dois mettre un champ "private:" ou "protected:" ou "public:" selon l'encapsulation voulue et spécifier "type m_nom;"
Autre chose si tu mets le code dans ta définition de classe tu n'as pas à mettre les nom_classe:: ça c'est quand tu utilises deux fichiers distincts ce qui est en général conseillé sauf pour les méthodes inline et/ou template.
De plus si tes méthodes renvoient un int, tu dois mettre le return, sinon tu mets void.
Et par contre il n'y a pas de ";" après les accolades pour les fonctions, ce n'est nécessaire que pour les class ou les struct
La confiance n'exclut pas le contrôle
Tu initialises m_ZFS comme un entier, mais tu l'utilises comme un objet !
Sinon tout simplement au début de ta classe tu dois mettre un champ "private:" ou "protected:" ou "public:" selon l'encapsulation voulue et spécifier "type m_nom;"
Autre chose si tu mets le code dans ta définition de classe tu n'as pas à mettre les nom_classe:: ça c'est quand tu utilises deux fichiers distincts ce qui est en général conseillé sauf pour les méthodes inline et/ou template.
De plus si tes méthodes renvoient un int, tu dois mettre le return, sinon tu mets void.
Et par contre il n'y a pas de ";" après les accolades pour les fonctions, ce n'est nécessaire que pour les class ou les struct
La confiance n'exclut pas le contrôle