1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Position der adressen von virtuellen funktionen

  • Leocor
  • 14. Oktober 2008 um 19:54
  • Unerledigt
  • Leocor
    4
    Leocor
    Mitglied
    Punkte
    165
    Beiträge
    23
    • 14. Oktober 2008 um 19:54
    • #1

    Ich hab eine ganz allgemeine Frage:

    Ich habe eine klasse A:

    Code
    class A{
    public:  
      int a;
      char b;
      /*....*/
     
      /*konstruktoren*/
    
    
      virtual funktion() = 0;
      virtual funktion2() {
           //bla bla
      }
    
    
    }
    Alles anzeigen

    Ich leite dann eine zweite klasse ab:

    Code
    class B : public A{
    public:  
    //neue variablen
      int c;
      double d;
      /*....*/
     
      /*konstruktoren*/
    
    
      virtual funktion() { /*...*/};
      virtual funktion2() {
           //bla bla
      }
    
    
    }
    Alles anzeigen

    Ich habe dann ein objekt der Klasse B. Wie stehen dann die daten darin??

    |---int a---|
    |--char b--|
    |---v ptr---|
    |--v ptr2--|

    |---int c---|
    |-double d-|

    oder

    |---int a---|
    |--char b--|
    |---int c---|
    |-double d-|
    |---v ptr---|
    |--v ptr2--|

    Ich hoffe ihr wisst was ich mein (ach ja bitt vernachlässigt in meinem beispiel die unterschidlichen größen meiner Variablen)

    http://de.youtube.com/watch?v=H9B4a2KEoGY&feature=related
    http://de.youtube.com/watch?v=HhHsXAVHyaA&feature=related

  • Ringding
    11
    Ringding
    Mitglied
    Reaktionen
    12
    Punkte
    1.237
    Beiträge
    244
    • 14. Oktober 2008 um 20:44
    • #2

    Weder noch. Es steht ein Pointer auf eine Virtual Function Table drinnen, und der ist immer vor den Datenfeldern. Natürlich legt der Standard nicht fest, wie das auszusehen hat, aber es gibt wohl kaum eine andere vernünftige Methode.

  • Leocor
    4
    Leocor
    Mitglied
    Punkte
    165
    Beiträge
    23
    • 14. Oktober 2008 um 22:18
    • #3

    danke damit hast mir sehr weitergeholfen

    http://de.youtube.com/watch?v=H9B4a2KEoGY&feature=related
    http://de.youtube.com/watch?v=HhHsXAVHyaA&feature=related

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung