🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
2 messages
2 total messages Started by Roman 'RoB' Bartke Sun, 15 Oct 1995 10:56
Gueltigkeitsbereich des this-Pointers
#577
Author: Roman 'RoB' Bartke
Date: Sun, 15 Oct 1995 10:56
20 lines
1018 bytes
In den neueren g++-Versionen kann man im Konstruktor den eigenen
this-Pointer an neu zu erzeugende Instanzen anderer Klassen übergeben:

class B;

class C
{
	B* b;
public:
	C() { b=new B(this); }
[...]
}

Soweit ich mich erinnere, ging ss bei früheren Versionen nicht immer.

Was sieht da der Standard (oder die Vorstufe) vor? 

-- 
  eMail: rob@robot.mayn.de; rob@informatik.uni-wuerzburg.de          PGP on
 whoami: main(i){putchar(471252544>>i*5&31|!!(i%6)<<6)&&main(++i);}  demand
Re: Gueltigkeitsbereich des this-Pointers
#592
Author: Karl-Heinz Krause
Date: Mon, 16 Oct 1995 19:36
56 lines
1501 bytes
Am 15. Okt 1995 schrieb Roman Bartke (rob@robot.mayn.de):

> In den neueren g++-Versionen kann man im Konstruktor den eigenen
> this-Pointer an neu zu erzeugende Instanzen anderer Klassen übergeben:

> class B;

> class C
> {
> 	B* b;
> public:
> 	C() { b=new B(this); }
> [...]
> }

> Soweit ich mich erinnere, ging ss bei früheren Versionen nicht immer.

> Was sieht da der Standard (oder die Vorstufe) vor? 

Der this-Pointer eines C-Objekts hat den Typ C*. Das obige Beispiel
funktioniert also genau dann, wenn B einen Konstruktor hat, dem man
einen Parameter des Typs C* übergeben kann. Beispiel:

	class C;

	class B {
	  public:
	    B (C*);
	};

	class C {
	    B *p;
	  public:
	    C(): p(new B(this)) {}
	};

Oder in anderer Reihenfolge geschrieben:

	class B;

	class C {
	    B *p;
	  public:
	    C();
	};

	class B {
	  public:
	    B (C*);
	};

	inline C::C(): p(new B(this)) {}



Karl-Heinz Krause
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads