🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: de.comp.lang.c++
Article #926

Re: Frage zu forward-Deklarationen

#926
From: Karl-Heinz Krause
Date: Thu, 30 Nov 1995 06:06
40 lines
1603 bytes
Am 29. Nov. 1995 schrieb Uwe Tantz
(c4037@rphc1.physik.uni-regensburg.de>):

> Gruess Euch,

> ich haette ein Problem zu forward-Deklarationen:
> Weiss jemand, ob es moeglich ist, *eingebettete* Klassen forward zu 
> deklarieren? Was mir dabei vorschwebt ist etwa folgendes:

> -- Header-File
> class A
> {
>   public:
>   class B;

>   // in der Deklaration von A werden nur B-Pointer und -Referenzen gebraucht
>   void foo(B &x); 
> };

> -- Implementation
> class A::B
> {
>   // ... usw.
> };

> void A::foo(B &x)
> {
>   // ... usw.
> }

> Dieses wird aber so von keinem mir bekannten Compiler geschluckt. Weiss 
> jemand, ob es dafuer einen Grund gibt? Ich faende dies eine sinnvolle 
> Konstruktion. Wenn man B im globalen Scope definiert, klappts ja auch.

Die Konstruktion ist nach dem neuesten C++-Standard zulässig. Sie wird
in "The Design and Evolution of C++" ausdrücklich erwähnt. Ältere
C++-Compiler können es aber noch nicht. (Bei Borland C++ V. 4.5 geht's)


Karl-Heinz Krause
Technical Details
Message-ID: <49jhle$le1@news00.btx.dtag.de>
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail
References: <Pine.SOL.3.90.951129140616.25104A-100000@rphc4.physik.uni-regensburg.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!news00.btx.dtag.de!not-for-mail
From: Krause@btx.dtag.de (Karl-Heinz Krause)
Newsgroups: de.comp.lang.c++
Subject: Re: Frage zu forward-Deklarationen
Date: 30 Nov 1995 06:06:38 GMT
Organization: Telekom Online Internet Gateway
Message-ID: <49jhle$le1@news00.btx.dtag.de>
References: <Pine.SOL.3.90.951129140616.25104A-100000@rphc4.physik.uni-regensburg.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Sender: 0913148778-0001@btx.dtag.de (Karl-Heinz Krause)
X-Newsreader: Forte Free Agent 1.0.82