single
Challenge: Constructeur et Attributs
Glissez pour afficher le menu
L'une des principales utilisations des constructeurs est d'initialiser les attributs de la classe. Un constructeur par défaut, par exemple, peut être utilisé pour définir des valeurs initiales. Par exemple :
main.cpp
1234567891011121314#include <iostream> class Person { public: Person() { name = "undefined"; } std::string name; }; int main() { Person person; std::cout << person.name; }
Si vous ne spécifiez pas de valeur pour l'attribut name de l'objet, il sera défini sur underfined par défaut. Vous pouvez essayer de supprimer ce constructeur pour observer les changements qui se produisent.
Initialisation des attributs avec le constructeur
Comme les fonctions, les constructeurs peuvent prendre des paramètres, permettant ainsi différents arguments lors de la création d'un objet. Il est également possible de les surcharger pour gérer un nombre variable d'arguments.
main.cpp
123456789101112131415161718class Person { public: Person(std::string _name, std::string _surname, int _age) { name = _name; surname = _surname; age = _age; } std::string name; std::string surname; int age; }; int main() { Person person("Bob", "Song", 23); }
Glissez pour commencer à coder
Imaginez que vous développez un système de cartographie simple. Vous devez créer une classe Location qui représente un point sur une carte avec un nom et des coordonnées. Votre tâche consiste à implémenter un constructeur et une méthode pour calculer la distance jusqu'à un autre emplacement.
- Implémentation d'un constructeur qui initialise les trois champs :
- Le constructeur doit prendre trois paramètres : un
std::stringpour le nom, et deux valeursdoublepour les coordonnées x et y. - À l'intérieur du constructeur, affectez le paramètre du nom au champ
namede l'objet. - Affectez le paramètre de la coordonnée x au champ
xde l'objet. - Affectez le paramètre de la coordonnée y au champ
yde l'objet.
- Le constructeur doit prendre trois paramètres : un
- Implémentez une méthode
distanceToqui prend un autre objetLocationen paramètre :- Accédez aux coordonnées
xetyde l'objet courant et de l'autre objet. - Calculez la différence des coordonnées
x:other.x - x. - Calculez la différence des coordonnées
y:other.y - y. - Calculez la distance à l'aide de la formule :
sqrt(dx * dx + dy * dy). - Retournez la distance calculée en tant que
double.
- Accédez aux coordonnées
Exemple
Location("Home", 0.0, 0.0) and Location("Office", 3.0, 4.0) -> 5.0
Location("Park", 1.0, 2.0) and Location("School", 4.0, 6.0) -> 5.0
Location("Cafe", -1.0, -1.0) and Location("Library", 2.0, 3.0) -> 5.0
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion