Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #3449
| From | Kai-Uwe Bux <jkherciueh@gmx.net> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: templated operator()<< |
| Followup-To | comp.lang.c++ |
| Date | 2011-04-12 08:23 +0200 |
| Organization | University of Bielefeld |
| Message-ID | <io0r4d$6c2$1@hoshi.visyn.net> (permalink) |
| References | <io03f9$qsv$1@reader1.panix.com> <io06co$fgm$1@dont-email.me> <io0bl5$9hr$1@reader1.panix.com> |
Followups directed to: comp.lang.c++
Ruben Safir wrote: > On Tue, 12 Apr 2011 02:29:10 +0200, Alf P. Steinbach /Usenet wrote: > >> * Ruben Safir, on 12.04.2011 01:39: >>> as I understand things, the operator<<() needs to be external as to the >>> class and then declared as a friend of the class. I'm not sure if I >>> understand why that is the case. >> > > > what?? operator<<() can be a normal class member? Yes, operator<< can be a normal class member. That says that the expression a << b (*) where a is of type A and b is of type B can be interpreted in two ways: 1) operator<<( a, b ) 2) a.operator<<(b) That is, in (*) the operator<< could be a member function of A. Even if B has a member function operator<<(), it is not be used to interpret (*). Hence, when declaring output operators for the use with ostreams, it does not help to make them member functions of the class you want to set up for output. However, when deriving from streams, you can make them member functions. Best, Kai-Uwe Bux
Back to comp.lang.c++ | Previous | Next — Previous in thread | Find similar | Unroll thread
templated operator()<< Ruben Safir <ruben@mrbrklyn.com> - 2011-04-11 23:39 +0000
Re: templated operator()<< LR <lruss@superlink.net> - 2011-04-11 20:07 -0400
Re: templated operator()<< "Alf P. Steinbach /Usenet" <alf.p.steinbach+usenet@gmail.com> - 2011-04-12 02:29 +0200
Re: templated operator()<< Ruben Safir <ruben@mrbrklyn.com> - 2011-04-12 01:59 +0000
Re: templated operator()<< "Alf P. Steinbach /Usenet" <alf.p.steinbach+usenet@gmail.com> - 2011-04-12 04:01 +0200
Re: templated operator()<< Ruben Safir <ruben@mrbrklyn.com> - 2011-04-12 02:37 +0000
Re: templated operator()<< Ruben Safir <ruben@mrbrklyn.com> - 2011-04-12 02:43 +0000
Re: templated operator()<< "Alf P. Steinbach /Usenet" <alf.p.steinbach+usenet@gmail.com> - 2011-04-12 05:25 +0200
Re: templated operator()<< Michael Doubez <michael.doubez@free.fr> - 2011-04-12 00:17 -0700
Re: templated operator()<< Kai-Uwe Bux <jkherciueh@gmx.net> - 2011-04-12 08:23 +0200
csiph-web