C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Re: gleichnamige member in Basis und Ableitung

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Horst Kraemer
Guest





PostPosted: Wed Sep 17, 2003 8:51 pm    Post subject: Re: gleichnamige member in Basis und Ableitung Reply with quote



On 17 Sep 2003 05:35:51 GMT, [email]Bernd.Wutzelmann (AT) wutzelmann (DOT) com[/email] (Bernd
Wutzelmann) wrote:

Quote:
Mal 'ne Frage zu folgendem Code:

#include
class A
{
public:
int m_i;
};

class B : public A
{
private:
int m_i;
};

int main( int argc, char *argv[] )
{
std::cout << (int)sizeof(A) << " " << (int)sizeof(B);

return 0;
}

Ich hatte mal gelesen, dass die Redefinition eines Members mit
gleicher Signatur unter unterschiedlichen Zugriffsrechten in
einer abgeleiteten Klasse nur die Zugriffsrechte auf den Mem-
ber im Basisklassen-Anteil aendert - allerdings ist das schon
lange her und das Buch wo ich das gelesen hatte war sicher
noch lange vor dem 98er Standard verlegt worden. Obiges zeigt
mir mit einigen Compilern, dass dem nicht so ist (auch wenn
ich mich theoretisch darauf nicht 100%ig verlassen kann weil
B kein POD ist). Weiss einer wie die Sache nach ISO-Standard
definiert ist?

Nach dem aktuellen Standard ist B::m_i ein neues Element der Klasse B,
das nichts mit dem Element A::m_i zu tun hat. Dabei verdeckt die neue
Deklaration die alte. Der Zugriff auf A::m_i muss explizit ueber

myB.A::m_i

bzw. innerhalb von B mit

A::m_i

erfolgen. Das, was Deine alte Spezifikation beschreibt, kann man per

class B: public A
{
private:
A::m_i;
};

erreichen - was allerdings nicht allzuviel Sinn ergibt.

MfG
Horst

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Ralf Schneeweiß
Guest





PostPosted: Sat Sep 20, 2003 11:18 pm    Post subject: Re: gleichnamige member in Basis und Ableitung Reply with quote



....

Quote:

erfolgen. Das, was Deine alte Spezifikation beschreibt, kann man per

class B: public A
{
private:
A::m_i;
};

erreichen - was allerdings nicht allzuviel Sinn ergibt.



Verlangt der ANSI/ISO-Standard an dieser Stelle nicht die Verwendung von
using?

Grüße
Ralf



www.oop-trainer.de

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Horst Kraemer
Guest





PostPosted: Mon Sep 22, 2003 5:50 pm    Post subject: Re: gleichnamige member in Basis und Ableitung Reply with quote



On Sun, 21 Sep 2003 01:18:57 +0200, "Ralf Schneeweiß"
<ralf.schneeweiss (AT) onlinehome (DOT) de> wrote:

Quote:
...


erfolgen. Das, was Deine alte Spezifikation beschreibt, kann man per

class B: public A
{
private:
A::m_i;
};

erreichen - was allerdings nicht allzuviel Sinn ergibt.



Verlangt der ANSI/ISO-Standard an dieser Stelle nicht die Verwendung von
using?

Er verlangt nicht, aber er empfiehlt.

MfG
Horst

--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.