IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Structure en C++ (sort de l'ordinaire!)


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 41
    Points
    41
    Par défaut Structure en C++ (sort de l'ordinaire!)
    Bonjour et merci d'avance

    D'aucun aurait-il la bienveillance de m'expliquer cette structure. Je n'ai pas trouvé d'équivalent dans la documentation malgré pas mal de temps passé en recherche.
    Particulièrement les lignes 2;3;4 et 8

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    struct brownian : public processus<double>             //ligne 1
    {
           brownian(int n, double T=1)                             //ligne 2
                     : processus<double>(pow(2.,n)+1.), n(n), T(T),//ligne 3
                     h(T/pow(2., n)), G(0,h) {};                   //ligne 4
           result_type operator()();                               //ligne 5
           result_type affine();                                   //ligne 6
           friend struct black_scholes;                            //ligne 8
           protected:                                              //ligne 9
           int n;                                                  //ligne 10
           double h, T;                                            //ligne 11
           gaussian G ;                                            //ligne 12
    };
    Il est fait référence à la structure processus la voici. Une explication sur la commande friend renforcerai mes assises et elles en ont besoin !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    struct processus
    {
    typedef std::pair<double, T> state;
    typedef std::list<state> result_type;
    typedef typename result_type::iterator iter;
    typedef typename result_type::const_iterator cst_iter;
    processus(int size = 0) : value(size) {};
    virtual result_type operator()() = 0;
    result_type current() const { return value; };
    template <typename S>
    friend std::ostream& operator<<(std::ostream &o,
    const processus<S> &p)
    {
      o << 0;
      return o;
    }

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 294
    Détails du profil
    Informations personnelles :
    Localisation : Royaume-Uni

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 294
    Points : 1 543
    Points
    1 543
    Par défaut
    Salut,

    Pour 2,3,4 tu peux regarder l'entrée de la FAQ sur les constructeurs.
    Pour 8 regarde celle sur friend.

    MAT.

  3. #3
    Membre averti Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Points : 302
    Points
    302
    Par défaut
    Hello,
    Cette classe ne sort pas vraiment de l'ordinaire, mais je te conseille d'aller jeter un coup d'œil à la faq C++, tu y trouveras tes réponses.
    En reprenant les lignes:

    -ligne 2: prototype du constructeur avec un paramètre par défaut: T.

    -lignes 3 et 4: il s'agit de la liste d'initialisation du constructeur (étalée sur deux lignes). Une variable membre de la classe à le même nom qu'un paramètre du constructeur, ce qui explique le T(T) (celui de gauche est la variable membre, à droite le paramètre. ou comment rendre les choses inutilement obscures)

    - ligne 8: déclaration d'une classe amies: black_scholes (elle même déclarée ailleurs). Cela signifie que la classe black_scholes peut accéder aux variables privées de brownian.

    EDIT, désolé pour le doublon, je n'ai pas vu le post de Mat

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    sinon plutôt que de refaire le monde t'as quantlib

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/02/2008, 13h46
  2. Réponses: 12
    Dernier message: 25/04/2007, 11h36
  3. recuperation de la structure d'une base
    Par pascalT dans le forum 4D
    Réponses: 7
    Dernier message: 07/06/2006, 15h32
  4. Structure de données de type "RECORD"
    Par chaours dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/09/2002, 17h10
  5. longueur d'une structure
    Par bohemianvirtual dans le forum C
    Réponses: 6
    Dernier message: 28/05/2002, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo