namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:beispiel:memptr

Beispiel Zeiger auf Komponente

memptr.cpp
#include <iostream>
 
struct S
{
  int x, y;
  void f() { std::cout << "f()\n"; }
  void g() { std::cout << "g()\n"; }
};
 
int main()
{
  S variable  = { 10, 20 };
  S variable2 = { 30, 40 };
 
  // Zeiger auf member definieren, Komponente auswählen  
  int   S::*attribut   = &S::x;  // irgendein  (int-) Attribut von S
  void (S::*methode)() = &S::f;  // irgendeine (void-) Methode von S
 
  std::cout << variable .*attribut << '\n';
  std::cout << variable2.*attribut << '\n';
  (variable .*methode)();
  (variable2.*methode)();
 
  // andere Komponente auswählen
  attribut = &S::y;
  methode  = &S::g;
 
  std::cout << variable .*attribut << '\n';
  std::cout << variable2.*attribut << '\n';
  (variable .*methode)();
  (variable2.*methode)();
 
  // Objekt über Zeiger auswählen
  S* zeiger = &variable2;
  std::cout << zeiger->*attribut << '\n';
  (zeiger->*methode)();
}
kennen/beispiel/memptr.txt · Zuletzt geändert: 2017-04-19 21:39 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki