cvs.gedasymbols.org/archives/browse.cgi | search |
Message-ID: | <3E739182.6E629D7A@bluewin.ch> |
Date: | Sat, 15 Mar 2003 21:48:02 +0100 |
From: | Simon Bachmann <simonbachmann AT bluewin DOT ch> |
X-Mailer: | Mozilla 4.7 [en] (X11; I; Linux 2.2.13 i586) |
X-Accept-Language: | en |
MIME-Version: | 1.0 |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | data access in nested classes |
NNTP-Posting-Host: | 213.3.167.100 |
X-Original-NNTP-Posting-Host: | 213.3.167.100 |
X-Trace: | news.bluewin.ch 1047761072 213.3.167.100 (15 Mar 2003 21:44:32 +0100) |
Organization: | Bluewin AG |
Lines: | 70 |
Complaints-To: | abuse AT bluewin DOT ch |
X-Original-NNTP-Posting-Host: | 127.0.0.1 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Hello! I've got a problem with gpp(version 3.1), I don't know if it's a problem of gpp intself or of the ported vesion. I've got gcc under linux too, and here the problem doesn't exist, but it's another version.... (2.7). That's the problem: wen I create two nested classes and try to access from the one to the other's private data, (without making it a friend) the compiler should give me an error message. Well, it doesn't! Here's an example: #include <iostream> using namespace std; class One { public: class Two; //this two lines should be necessary but they are not !! friend class Two; //commenting them and compiling I get no error messagges //compilatino under linux with this lines commented fails class Two { friend class One; //This line is necessary under both dos and linux public: void ini(); int val_one(One *); private: int t; }; void ini(); int val_two(Two *); private: int o; }; void One::ini() { o = 1; } void One::Two::ini() { t = 2; } int One::val_two(Two * p) { return p->t; } int One::Two::val_one(One * p) { return p->o; } main () { One o_1; One::Two o_2; o_1.ini(); o_2.ini(); cout << endl << "One::o = " << o_2.val_one( &o_1 ) << endl << "Two::t = " << o_1.val_two( &o_2) << endl << endl; }
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |