Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Méthodes de la Classe | Fondamentaux de la POO en C++
Quizzes & Challenges
Quizzes
Challenges
/
Programmation Orientée Objet en C++

bookDéfi : Méthodes de la Classe

Les méthodes dans une classe sont essentiellement des fonctions définies à l'intérieur de la classe. Elles servent à définir les comportements ou actions que les objets de la classe peuvent effectuer.

Les méthodes manipulent souvent les attributs de la classe ou effectuent des opérations pertinentes pour les objets.

Implémentation des méthodes en dehors de la classe

Les méthodes peuvent être définies en dehors de la déclaration de la class en utilisant l'opérateur de résolution de portée (::). Cela est souvent fait pour séparer la déclaration dans le fichier d'en-tête de son implémentation dans le fichier source. Voici comment procéder :

Example.h

Example.h

Example.cpp

Example.cpp

copy
1234
class Example { public: void Method(); };

Il n'est pas obligatoire de créer deux fichiers distincts pour cet objectif ; il est possible de le réaliser dans un seul fichier, et dans certaines situations, cela s'avère avantageux.

main.cpp

main.cpp

copy
12345678
#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }

N'hésitez pas à aborder la tâche en utilisant la méthode de votre choix. Cependant, la bonne pratique courante consiste à séparer la déclaration et l'implémentation.

Tâche

Swipe to start coding

Imaginez que vous développez un système simple pour calculer le prix d’un produit avec une remise appliquée. Le système doit également appliquer une règle spéciale : aucune remise ne peut dépasser 50 %, même si une valeur supérieure est fournie.

Vous disposez d’une classe Product avec les champs suivants :

  • price de type float
  • discount de type float

Vous devez implémenter une méthode getFinalPrice() qui :

  1. Vérifie la valeur de la remise : si elle dépasse 50 %, la fixer à 50 %.
  2. Calcule le prix final et le retourne :
    • Entre parenthèses, calculez le montant de la remise à l’aide de la formule (price * discount / 100)
    • Soustrayez le montant de la remise du price pour obtenir le prix final après remise

Exemple

price = 100.0, discount = 60.0 -> 50.0
price = 80.0, discount = 30.0 -> 56.0
price = 50.0, discount = 20.0 -> 40.0

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

close

bookDéfi : Méthodes de la Classe

Glissez pour afficher le menu

Les méthodes dans une classe sont essentiellement des fonctions définies à l'intérieur de la classe. Elles servent à définir les comportements ou actions que les objets de la classe peuvent effectuer.

Les méthodes manipulent souvent les attributs de la classe ou effectuent des opérations pertinentes pour les objets.

Implémentation des méthodes en dehors de la classe

Les méthodes peuvent être définies en dehors de la déclaration de la class en utilisant l'opérateur de résolution de portée (::). Cela est souvent fait pour séparer la déclaration dans le fichier d'en-tête de son implémentation dans le fichier source. Voici comment procéder :

Example.h

Example.h

Example.cpp

Example.cpp

copy
1234
class Example { public: void Method(); };

Il n'est pas obligatoire de créer deux fichiers distincts pour cet objectif ; il est possible de le réaliser dans un seul fichier, et dans certaines situations, cela s'avère avantageux.

main.cpp

main.cpp

copy
12345678
#include <iostream> class Example { public: void Method(); }; void Example::Method() { std::cout << "Method was called" << std::endl; }

N'hésitez pas à aborder la tâche en utilisant la méthode de votre choix. Cependant, la bonne pratique courante consiste à séparer la déclaration et l'implémentation.

Tâche

Swipe to start coding

Imaginez que vous développez un système simple pour calculer le prix d’un produit avec une remise appliquée. Le système doit également appliquer une règle spéciale : aucune remise ne peut dépasser 50 %, même si une valeur supérieure est fournie.

Vous disposez d’une classe Product avec les champs suivants :

  • price de type float
  • discount de type float

Vous devez implémenter une méthode getFinalPrice() qui :

  1. Vérifie la valeur de la remise : si elle dépasse 50 %, la fixer à 50 %.
  2. Calcule le prix final et le retourne :
    • Entre parenthèses, calculez le montant de la remise à l’aide de la formule (price * discount / 100)
    • Soustrayez le montant de la remise du price pour obtenir le prix final après remise

Exemple

price = 100.0, discount = 60.0 -> 50.0
price = 80.0, discount = 30.0 -> 56.0
price = 50.0, discount = 20.0 -> 40.0

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5
single

single

some-alt