Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #7593
| From | "Bo Persson" <bop@gmb.dk> |
|---|---|
| Newsgroups | comp.lang.c++ |
| Subject | Re: Deriving from concrete types like std::list |
| Date | 2011-07-07 19:12 +0200 |
| Message-ID | <97m7nuFo1uU1@mid.individual.net> (permalink) |
| References | <ygfd3hm1eor.fsf@janus.isnogud.escape.de> |
Urs Thuermann wrote:
>
> class StmtList : public Stmt, public std::list <Stmt *> {
> public:
> virtual void exec() {
> const_iterator it;
> for (it = begin(); it != end(); ++it)
> (*it)->exec();
> }
> };
>
> // in the parser
> stmt_list->push_back(stmt);
>
> Is this, according to Stroustrup, the wrong approach? Instead of
> deriving I could have a member of type list <Stmt *> in class
> StmtList but iterating would look more cumbersome and I had to
> implement my own push_back() that calls push_back() for that list
> member, etc. After all, a statement list *is* a list. Shouldn't I
> express this relationship by derivation?
>
Having the list as a member seems a much better idea.
How hard is it to write l.begin() instead of begin()?
Bo Persson
Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Deriving from concrete types like std::list Urs Thuermann <urs@isnogud.escape.de> - 2011-07-07 14:02 +0200
Re: Deriving from concrete types like std::list Leigh Johnston <leigh@i42.co.uk> - 2011-07-07 14:04 +0100
Re: Deriving from concrete types like std::list Alexander Bartolich <alexander.bartolich@gmx.at> - 2011-07-07 13:42 +0000
Re: Deriving from concrete types like std::list Kai-Uwe Bux <jkherciueh@gmx.net> - 2011-07-07 22:23 +0200
Re: Deriving from concrete types like std::list Alexander Bartolich <alexander.bartolich@gmx.at> - 2011-07-07 22:04 +0000
Re: Deriving from concrete types like std::list Kai-Uwe Bux <jkherciueh@gmx.net> - 2011-07-08 01:16 +0200
Re: Deriving from concrete types like std::list red floyd <redfloyd@gmail.com> - 2011-07-08 11:23 -0700
Re: Deriving from concrete types like std::list "Balog Pal" <pasa@lib.hu> - 2011-07-08 20:30 +0200
Re: Deriving from concrete types like std::list "Alf P. Steinbach /Usenet" <alf.p.steinbach+usenet@gmail.com> - 2011-07-08 21:16 +0200
Re: Deriving from concrete types like std::list red floyd <redfloyd@gmail.com> - 2011-07-08 14:53 -0700
Re: Deriving from concrete types like std::list "Balog Pal" <pasa@lib.hu> - 2011-07-09 10:33 +0200
Re: Deriving from concrete types like std::list Leigh Johnston <leigh@i42.co.uk> - 2011-07-09 10:59 +0100
Re: Deriving from concrete types like std::list "Bo Persson" <bop@gmb.dk> - 2011-07-07 19:12 +0200
Re: Deriving from concrete types like std::list "MikeP" <mp011011@some.org> - 2011-07-07 15:51 -0500
csiph-web