MYSTRING, CLASSE TRAITANT DES CHAÎNES DE CARACTÈRES

ironzorg Messages postés 45 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 27 juin 2008 - 8 juin 2008 à 10:47
 Utilisateur anonyme - 12 juin 2008 à 23:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46904-mystring-classe-traitant-des-chaines-de-caracteres

Utilisateur anonyme
12 juin 2008 à 23:10
>> - Pourquoi avoir utilisé une structure alors que tu disposes des classes, un outil bien plus puissant ?

A noter qu'en C++, une structure est une classe.
La seule différence entre "struct" et "class" est la visibilité par défaut.
Ainsi la stucture est simplement une classe dont tout les attributs sont publiques par défaut. Une classe est une structure dont les champs sont privées par défaut.

Pour émuler une classe avec des structures ont peux utiliser l'écriture:

struct Test
{
Test()
{
}
private:
int exemple = 0;
};
Cyberboy2054 Messages postés 173 Date d'inscription jeudi 20 décembre 2001 Statut Membre Dernière intervention 22 août 2008
9 juin 2008 à 13:08
La source est bien écrite, bravo.
Concernant les remarques de Ironzorg, je vais répondre pour Noubzor (j'espere qu'il m'excuseras:p)
Ce n'est pas si inhabituel d'inclure un fichier h dans un autre header, sinon il est assez difficile de faire de gros programmes, avec des classes interdépendantes par exemples, donc pas de soucis de ce coté là.
Quand à la structure au lieu d'une classe, c'est également une pratique assez répandu lorsqu'on construit un objet qui ne transporte que des informations, et qui ne les traite pas. Si il faut un traitement alors on crée dans méthodes et on transforme la structure en classe.
ironzorg Messages postés 45 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 27 juin 2008
8 juin 2008 à 10:47
Plusieurs choses:
- Pourquoi avoir utilisé une structure alors que tu disposes des classes, un outil bien plus puissant ?
- MyString.h utilise Constants.h ... Un header qui inclut un header c'est assez inhabituel.
- Voici comment commence le main.cpp:
"#include "MyString.h"
#include
#include
#include <sys/stat.h>
#include <fcntl.h>"
Par convention on préfèrera:
"#include
#include
#include <sys/stat.h>
#include <fcntl.h>
#include "MyString.h"
- Plein de commentaires clairs et qui expriment correctement l'utilisation des fonctions
- L'organisation du code n'est pas aberrante