Gå til innhold

Oppgave; Noen som tar den?


Anbefalte innlegg

Skrevet

Hei!

 

Noen som løser denne oppgaven?

 

Anta at en peker tar 4 byte. Design et arve-hierarki hvor INGEN klasse har en eneste data medlem og klasse (objektet) str skal være 8 byte.

Videoannonse
Annonse
Skrevet

#include <iostream>
#include <vector>
#include <memory>
using namespace std;

class Bar 
{virtual void Baz(){}};

class Foo : virtual private Bar
{
public:
   Foo()
   {
       *reinterpret_cast<unsigned long*>(this) = 0;
       *(reinterpret_cast<unsigned long*>(this) + 1) = 0;
   }

   Foo* parent()
   { 
       return reinterpret_cast<Foo*>(*reinterpret_cast<unsigned long*>(this)); 
   }

   Foo* sibling()
   { 
       return reinterpret_cast<Foo*>(*(reinterpret_cast<unsigned long*>(this) + 1)); 
   }

   auto_ptr<Foo> newChild(Foo* prevChild)
   {
       auto_ptr<Foo> p(new Foo());
       *reinterpret_cast<unsigned long*>(p.get()) = reinterpret_cast<unsigned long>(this);
       if(prevChild != 0)
       { 
           *(reinterpret_cast<unsigned long*>(prevChild) + 1) = reinterpret_cast<unsigned long>(p.get()); 
       }
       return p;
   }
};

int main() 
{
   Foo parent;
   auto_ptr<Foo> child = parent.newChild(0);
   auto_ptr<Foo> child2 = parent.newChild(child.get());
   cout << (child->sibling() == child2.get() ? "\\o/" : "/o\\") << endl;
}

 

Vage oppgaver fortjener vage svar :tease:

Skrevet

Vage oppgaver fortjener vage svar :tease:

[right][snapback]7855268[/snapback][/right]

 

Da er det vel bedre å spørre om det som var vagt.

 

MrLova

Skrevet (endret)

Vage oppgaver fortjener vage svar :tease:

7855268[/snapback]

 

Da er det vel bedre å spørre om det som var vagt.

 

MrLova

7855321[/snapback]

 

Tja, svaret mitt løser oppgaven etter de spesifiserte kriterier. Kan ikke si at jeg ser hensikten med å etterspørre noe sånt, dog :hmm:

Endret av einaros
Skrevet

Vage oppgaver fortjener vage svar :tease:

7855268[/snapback]

 

Da er det vel bedre å spørre om det som var vagt.

 

MrLova

7855321[/snapback]

 

Tja, svaret mitt løser oppgaven etter de spesifiserte kriterier. Kan ikke si at jeg ser hensikten med å etterspørre noe sånt, dog :hmm:

7855340[/snapback]

 

For all del, svaret ditt er korrekt det. Men det kan gjøres med mindre kode, og litt mer elegant.

 

god helg

Skrevet
For all del, svaret ditt er korrekt det. Men det kan gjøres med mindre kode, og litt mer elegant.

7855853[/snapback]

 

Du har en dårlig dag?

 

Hvis du trenger eleganse eller komprimert kode, får du spesifisere det. Det fremstår som merkelig at du kommer her og etterspør noe som virker som en (enkel) skoleoppgave, og blir furten når du får et femminutters-svar :thumbup:

Skrevet

Stenges

Når trådstarter svarer så dårlig på responsen han får så fortjener ikkje trådstarter å få fleire svar.

 

Begrunnelse i retningslinjene:

Punkt 1

Gjest
Dette emnet er stengt for flere svar.
×
×
  • Opprett ny...