Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [C++] Referenziare un membro di una classe ad un membro di un'altra classe

    Ciao a tutti,
    scusate il titolo vago ma non ne ho trovato uno migliore.
    Faccio subito un esempio che sicuramente risulterà più esplicativo di mille parole:
    codice:
    class ClasseA{ // Classe nativa
      int somma;
    };
    
    class ClasseB{ // Classe wrapper di A
      ClasseA *a;
    
      public:
        B(){ a = new ClasseA(); };
    
    };
    
    ClasseB b = new ClasseB();
    b.somma = 5;
    Con l'ultima istruzione vorrei accedere direttamente alla variabile intera 'a' della Classe A. In pratica la classe B è un wrapper della classe A. Per accedere ai metodi della classe A non ho problemi ma per accedere direttamente alle variabili non so come fare. In qualche modo dovrebbe risultare un membro intero di nome somma su B collegato direttamente al membro somma del suo oggetto privato a.

    Spero di essere stato chiaro.
    Grazie anticipatamente

  2. #2
    Se si trattasse di C++ puro basterebbe ereditare da ClasseA... ma tu stai costruendo un wrapper C++/CLI per accedere a ClasseA da codice .NET (e quindi ClasseB è una classe managed), giusto?

    P.S.: usa i tag [code] ... [/code] per il codice sul forum, altrimenti si perde l'indentazione; qui ho corretto io.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Si esatto, è wrapper clr per essere usato in .net.

    Con le funzioni non ho problemi, perchè ad esempio faccio

    bool functionX(){ return nativeObject->functionX(); };

    ma con le variabili l'unica idea che mi viene in mente è quella di usare i metodi get e set. L'effetto è lo stesso ma in c# sarebbe una seccatura non poter accedere direttamente. Qualche idea?

    (Seguirò il tuo consiglio per il code sui post)

  4. #4
    Nel wrapper .NET puoi dichiarare delle properties.

    (già che sono in giro aggiorno anche il titolo della discussione, dato che si sta parlando di una cosa piuttosto diversa)
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Perfetto! Era proprio quello che cercavo.

    Però che noia.. mi aspetta un'altra giornata di definizioni wrap!

  6. #6
    Buon divertimento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7

    Moderazione

    (dato che il secondo problema non era correlato, ho spostato i messaggi ad esso relativi in una nuova discussione, che trovi qui)
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.