Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Rätselecke » klassensalat

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.08.2006, 12:29 Uhr
kronos
Quotenfisch
(Operator)


Hallo,
die Aufgabe stammt von meinem Dozenten.
Schaut euch den Code an und versucht die Ausgabe vorherzusagen, ohne das Teil auszuführen...

C++:
#include <iostream>
using namespace std;

class A
{
  public:
    A(int i = 0)
      : a(i)
    {
    }
    void o()
    {
      cout << a;
    }
  private:
    int a;
};

class B: public A
{
  public:
    B(int j = 1)
     : b(j)
    {
    }
    void o()
    {
      A::o();
      cout << b;
    }
    private:
      int b;
};

int main()
{
  B* pb = new B[10];
  A* pa = pb;

  for (int i = 0; i < 10; ++i)
  {
    pa[i] = 2;
  }
  for (int i = 0; i < 10; ++i)
  {
    pb[i].o();
    std::cout << endl;
  }
  
  return 0;


--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.08.2006, 12:51 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Hmm witzig.
hätte gedacht das er 10x 21 ausgibt. Dann jedoch ists mir gekommen das er ja da A nur halb so groß ist wie B nur 5stk je mit 2 füllen müsste, also in der Art 5x 22 ausgeben müsste. Der Rest ist dann logischerweise nicht nochmals verändert, also 01. Richtig so?

Was mir nicht ganz klar ist: funktioniert diese zuweisung direkt? woher weiß er das er dem "a" den Wert zuweisen soll? Ist der operator implizit oder so?
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
25.08.2006, 13:13 Uhr
kronos
Quotenfisch
(Operator)



Zitat von FloSoft:
Was mir nicht ganz klar ist: funktioniert diese zuweisung direkt? woher weiß er das er dem "a" den Wert zuweisen soll? Ist der operator implizit oder so?

Ist wohl so 'ne Art indirekter Konstruktoraufruf...
--
main($)??<-$<='?'>>2?main($-!!putchar(
(("$;99M?GD??(??/x0d??/a:???;a"+'?'/4)
??($??)+'?'/3-2-1+$%2)??''?')):'?';??>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
25.08.2006, 15:18 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Wahrscheinlich indirekt von dem hier:


C++:
pa[i] = A(2);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Rätselecke ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: