Topic de Huzuni35 :

Aide c++ (débutant Class)

Supprimé
  • 1
Je débute tout juste en POO, j'ai créé un premier programme intégrant des classes qui fonctionne très bien et je souhaite l'améliorer en ajoutant la notion d'héritage.
Dans la première capture j'ai une class mère (option)
Dans la seconde capture j'ai une class fille (option européen)
Comme dans un tuto suivit j'ai appelé le constructeur de la classe mère a partir de la classe fille. Au final j'ai bien accès aux méthodes de la classe mère mais pas aux attributs apparemment, puisque dans la méthode "afficher" je n'ai pas accès à l'ensemble de mes variables (période, sous jacent, strike, etc..) si quelqu'un pourrait m'aider ça serait vraiment cool !! :)
https://image.noelshack.com/fichiers/2022/45/4/1668113307-capture-1.png https://image.noelshack.com/fichiers/2022/45/4/1668113313-capture-2.png
tes attributs sont privés, si tu veux y accéder via la classe fille, tu dois changer leur visibilité ou faire des getter et setter.
Les noms de variable et de fonction en français ayo https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

Le 10 novembre 2022 à 21:56:12 :
Les noms de variable et de fonction en français ayo https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

C'est ça qui créer le problème ? :'(

Le 10 novembre 2022 à 21:55:36 :
tes attributs sont privés, si tu veux y accéder via la classe fille, tu dois changer leur visibilité ou faire des getter et setter.

A okay, dans le petit tuto il disait que l'héritage permet d'avoir accès aux méthodes ET attribut de la classe mère. Je dois mettre mes getter/setter dans quelle classe ?

Le 10 novembre 2022 à 21:58:06 huzuni35 a écrit :

Le 10 novembre 2022 à 21:55:36 :
tes attributs sont privés, si tu veux y accéder via la classe fille, tu dois changer leur visibilité ou faire des getter et setter.

A okay, dans le petit tuto il disait que l'héritage permet d'avoir accès aux méthodes ET attribut de la classe mère.

seulement ceux qui sont publicou protected

Je dois mettre mes getter/setter dans quelle classe ?

la classe qui possède les attributs (mère)

Le 11 novembre 2022 à 09:27:30 :

Le 10 novembre 2022 à 21:58:06 huzuni35 a écrit :

Le 10 novembre 2022 à 21:55:36 :
tes attributs sont privés, si tu veux y accéder via la classe fille, tu dois changer leur visibilité ou faire des getter et setter.

A okay, dans le petit tuto il disait que l'héritage permet d'avoir accès aux méthodes ET attribut de la classe mère.

seulement ceux qui sont publicou protected

Je dois mettre mes getter/setter dans quelle classe ?

la classe qui possède les attributs (mère)

Merci j'ai fait le choix de les mettres en protected, je n'ai pas encore bien compris ce que ça implique mais ça fonctionne alors c'est déjà ça ! :D Merci

change private en protected pour les methodes et ca devrait marcher.
je t'invite a lire la documentation sur le mot cle PROTECTED qui permet de faire heriter tout en encapsulant la donne pour ne pas qu'elle soit public

ahi il débute en caca https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

pourquoi le C++ nonobstant ? Et pas le RUST ? https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

déja logiquement, en utilisant le pattern builder, pour acceder à un attribut, faut passer par un getter/setter

(c'est simple, un getter c'est une fonction qui retourne l'attribut, un setter c'est une fonction qui change la valeur de l'attribut)

ensuite, je ne fais pas de c++ mais ne faudrait il pas lui dire un truc du genre this.Periode ?

(attention au convention de nommage aussi, un variable ne doit pas commencer par une majuscule)

Le 11 novembre 2022 à 12:44:14 :

Le 11 novembre 2022 à 09:27:30 :

Le 10 novembre 2022 à 21:58:06 huzuni35 a écrit :

Le 10 novembre 2022 à 21:55:36 :
tes attributs sont privés, si tu veux y accéder via la classe fille, tu dois changer leur visibilité ou faire des getter et setter.

A okay, dans le petit tuto il disait que l'héritage permet d'avoir accès aux méthodes ET attribut de la classe mère.

seulement ceux qui sont publicou protected

Je dois mettre mes getter/setter dans quelle classe ?

la classe qui possède les attributs (mère)

Merci j'ai fait le choix de les mettres en protected, je n'ai pas encore bien compris ce que ça implique mais ça fonctionne alors c'est déjà ça ! :D Merci

on appelle ça une portée. Pour savoir qui a le droit

public : tout le monde = pas safe du tout
protected : la classe et ses héritiers si ma mémoire est bonne
private : juste la classe

Le protected mot clé spécifie l’accès aux membres de la classe dans la liste des membres jusqu’au spécificateur d’accès suivant (public ou ) ou privateà la fin de la définition de classe. Les membres de classe déclarés comme protected pouvant être utilisés uniquement par les éléments suivants :

Les fonctions membres de la classe qui a initialement déclaré ces membres.

Les friends de la classe qui a initialement déclaré ces membres.

Les classes dérivées ayant un accès public ou protégé à partir de la classe qui a initialement déclaré ces membres.

Les classes directes dérivées de manière privée qui ont également un accès privé aux membres protégés.

ainsi si tu declares l'heritage public, comme tu l'as fait :
Class OptionEurope : Public Option
tu as acces a toutes les data protected encapsules.

Le 11 novembre 2022 à 12:46:24 Link-Enfant a écrit :
pourquoi le C++ nonobstant ? Et pas le RUST ? https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

C++ est largement plus utilisé que Rust, et continuera de l'être pendant longtemps

Le 11 novembre 2022 à 12:57:53 :

Le 11 novembre 2022 à 12:46:24 Link-Enfant a écrit :
pourquoi le C++ nonobstant ? Et pas le RUST ? https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

C++ est largement plus utilisé que Rust, et continuera de l'être pendant longtemps

Mauvaise réponse, selon ce que tu fais Rust peut être parfaitement envisageable (typiquement quelque chose qui n'a pas plein de dépendances à des libs C++ bien plus évoluées)
Donc en gros j'étais curieux de savoir quel est le cas d'usage de l'OP (j'hésite moi même à m'investir dans l'un des deux)

Le 11 novembre 2022 à 13:01:04 Link-Enfant a écrit :

Le 11 novembre 2022 à 12:57:53 :

Le 11 novembre 2022 à 12:46:24 Link-Enfant a écrit :
pourquoi le C++ nonobstant ? Et pas le RUST ? https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

C++ est largement plus utilisé que Rust, et continuera de l'être pendant longtemps

Mauvaise réponse, selon ce que tu fais Rust peut être parfaitement envisageable (typiquement quelque chose qui n'a pas plein de dépendances à des libs C++ bien plus évoluées)
Donc en gros j'étais curieux de savoir quel est le cas d'usage de l'OP (j'hésite moi même à m'investir dans l'un des deux)

Tu blagues ?

Très peu d'entreprises utilisent Rust comparé à celles qui sont sur C++ depuis 10 ans, 20 ans, 30 ans ...

Le 11 novembre 2022 à 12:46:24 :
ahi il débute en caca https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

pourquoi le C++ nonobstant ? Et pas le RUST ? https://image.noelshack.com/fichiers/2022/24/6/1655577587-ahi-triangle-clopent.png

Je sais pas trop dans mon domaine (finance) la plupart des banques demandes davantage de connaisance en C++ et quelques autres en C#, java

  • 1

Données du topic

Auteur
Huzuni35
Date de création
10 novembre 2022 à 21:49:56
Date de suppression
13 novembre 2022 à 22:15:00
Supprimé par
Auteur
Nb. messages archivés
18
Nb. messages JVC
18
En ligne sur JvArchive 350