Article View: be.comp.programming
Article #9703Re: vraag geherfomuleerd
From: domi
Date: Sat, 13 Apr 2002 12:58
Date: Sat, 13 Apr 2002 12:58
58 lines
2778 bytes
2778 bytes
Agaricus wrote:
> Mijn vraag opnieuw :
>
> in mijn datum class staat
> friend ostream& operator<< (ostream&,Datum &) ;
> in mijn string class staat
> friend ostream& operator<< (ostream&,String &) ;
>
> dit is mijn persoon class :
> class Persoon
> {
> private:
> String naam;
> String voornaam;
> Datum gbdatum;
> public:
> Persoon (String,String,int,int,int) ;
> friend ostream& operator<< (ostream&,Persoon &) ;
> };
>
> Mijn vraag is nu hoe kan ik die friends uit mijn datum en string
> aanspreken vanuit persoon zodat ik naam, voornaam en gbdatum alleen
> kan afdrukken. Als dat mogelijk is.
hm...
het enige waar ik kan opkomen is:
std::ostream& operator<< (ostream& os, Persoon & p)
{
static int a = 0;
switch(a) {
case 0: os << p.naam;
case 1: os << p.voornaam;
case 2: os << p.gbdatum;
};
a = (++a)%3;
};
wat ervoor zorgt dat elke aanroep van operator<< achtereenvolgens naam,
voornaam en gbdatum uitprint.
Maar dat is dus _heel_ lelijk.
je kan beter gewoon doen:
class Persoon
{
private:
String _naam;
String _voornaam;
Datum _gbdatum;
public:
Persoon (String,String,int,int,int) ;
friend ostream& operator<< (ostream&,Persoon &) ;
const std::string& naam() { return _naam; };
const std::string& voornaam() { return _voornaam; };
const std::Datum& gbdatum() { return _gbdatum; };
};
en als je dan naam wil afdrukken, dan doe je:
os << eenPersoon.naam();
domi
Technical Details
Message-ID:
<XXVt8.15081$Ze.3285@afrodite.telenet-ops.be>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mailReferences:
<li4dbu47b1n1kqp5rbulsbspte2kpl229m@4ax.com> <2klebu0botb9q8fv8satarbl2djf40b3so@4ax.com>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit X-Google-Thread: fcea4,7a64caa31a77d9e4 X-Google-Attributes: gidfcea4,public X-Google-ArrivalTime: 2002-04-13 05:58:33 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!supernews.com!newsswitch.lcs.mit.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed00.sul.t-online.de!t-online.de!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail From: domi <fritmebufstek@pandora.be> Subject: Re: vraag geherfomuleerd Newsgroups: be.comp.programming Reply-To: fritmebufstek@pandora.be References: <li4dbu47b1n1kqp5rbulsbspte2kpl229m@4ax.com> <2klebu0botb9q8fv8satarbl2djf40b3so@4ax.com> Lines: 59 User-Agent: KNode/0.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit Message-ID: <XXVt8.15081$Ze.3285@afrodite.telenet-ops.be> Date: Sat, 13 Apr 2002 12:58:31 GMT NNTP-Posting-Host: 213.118.140.32 X-Complaints-To: abuse@telenet.be X-Trace: afrodite.telenet-ops.be 1018702711 213.118.140.32 (Sat, 13 Apr 2002 14:58:31 MET DST) NNTP-Posting-Date: Sat, 13 Apr 2002 14:58:31 MET DST Organization: Telenet Internet