Article View: de.comp.lang.c++
Article #839Re: Frage zu "protected"
From: Frank Nobis
Date: Tue, 21 Nov 1995 21:09
Date: Tue, 21 Nov 1995 21:09
72 lines
2680 bytes
2680 bytes
>>>>> "Gerald" == Gerald Just Physik ASB TUDR <just@TUDURZ.urz.tu-dresden.de> writes:
Gerald> Hallo Leute,
Gerald> z.Z. habe ich ein kleines Problem mit der Sichtbarkeit
Gerald> einer Variablen. Im Buch C++ Lernen von Tom Swan (Systhema Verlag)
Gerald> wird eine Klasse fuer Listen aus einer Klasse item abgeleitet:
Gerald> class item{
Gerald> protected:
Gerald> item *left;
Gerald> item *right;
Gerald> public:
Gerald> item();
Gerald> item *link(item *);
Gerald> void unlink();
Gerald> };
Gerald> class list:public item{
Gerald> private: item *anchor;
Gerald> item *cip;
Das muss meines Erachtens so aussehen:
class list:public item{
private: list *anchor;
list *cip;
Ich zitiere mal aus Bjarne Stroustrup (Die C++ Programmiersprache; 2.Auflage)
- Ist ein Element protected, so kann sein Name nur in
Element-Funktionen und friends der Klasse verwendet werden, in der
es definiert ist, oder in Elementfunktionen und friends einer von
dieser Klasse abgeleiteten Klasse.
Eine Private Variable 'item *anchor' ist weder das eine noch das
andere. Deine Klasse list enthaelt aber jeweils ein Element *left und
*right. Deshalb kannst Du bei list *anchor auf left zugreifen.
Gerald> public: .
Gerald> .
Gerald> .
Gerald> int atEnd(void){return((anchor!=NULL)&&(cip==anchor->left));}
Gerald> .
Gerald> .
Gerald> };
Gerald> Fuer diese Sache bringen DJGPP, MS und Borland die Meldung, dass anchor->left
Gerald> protected ist und nicht zur Verfuegung steht.
Das ist auch richtig, s.o.
Gerald> Der Zortech uebersetzt das problemlos.
Zortech uebersetzt an dieser Stelle nicht richtig.
Gerald> Kann jemand von Euch einem Trottel begreiflichmachen, wann nun eine protected
Gerald> Sache sichtbar ist und wann nicht --- bitte bitte.
Gerald> Vielen Dank Gerald
Ich hoffe ich habe mich nicht allsu unverstaendlich ausgedrueckt.
Gruss
Frank
--
Frank Nobis Email: fn@Radio-do.de PGP AVAILABLE
Landgrafenstr. 130 dg3dcn
44139 Dortmund Powered by FreeBSD Fax: +49 231 7213816
Technical Details
Message-ID:
<ygebuq5ekua.fsf@trinity.radio-do.de>Path:
arc1-ca.pugleaf.net!trinity.radio-do.de!not-for-mailReferences:
<just.816962445@TUDURZ>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!trinity.radio-do.de!not-for-mail From: fn@trinity.radio-do.de (Frank Nobis) Newsgroups: de.comp.lang.c++ Subject: Re: Frage zu "protected" Date: 21 Nov 1995 22:09:22 +0100 Organization: Radio and Friends Sender: fn@trinity.radio-do.de Message-ID: <ygebuq5ekua.fsf@trinity.radio-do.de> References: <just.816962445@TUDURZ> NNTP-Posting-Host: trinity.radio-do.de In-reply-to: just@TUDURZ.urz.tu-dresden.de's message of 21 Nov 95 14:00:45 GMT To: just@TUDURZ.urz.tu-dresden.de (Gerald Just Physik ASB TUDR) X-Newsreader: Gnus v5.0.12