|
|
Em Sábado 24. Abril 2010, às 12.36.31, Oliver Heins escreveu:
> Thiago Macieira <thiago@xxxxxxx> writes:
> > Em Sábado 24. Abril 2010, às 10.10.29, Oliver Heins escreveu:
> >> Andreas Pakulat <apaku@xxxxxx> writes:
> >> > You seem to have a bit of misconception about this. There is no Editor
> >> > instance in your code. All you do is declare a class and a nested
> >> > class, both can be used without an instance of the other as far as
> >> > your example goes. In particular, this:
> >> >
> >> > class Editor
> >> > {
> >> >
> >> > public:
> >> > class Token
> >> > {
> >> > };
> >> >
> >> > };
> >> >
> >> > Editor::Token t;
> >> >
> >> > is perfectly valid compiling code. And there's no instance of Editor
> >> > generated here, there's only a single instance of Token.
> >>
> >> So it's not possible in C++ to describe the idea: »Every instance of
> >> Token is held by an instance of Editor«?
> >
> > Of course it is.
> >
> > The counter is per editor, right? So it's a property of the editor.
>
> Yes, but I have to hand over the id exlicitely. I hoped to do something
> like this:
>
> class Editor
> {
> class Token
> {
> public:
> Token () : uniqId(++id_) { }
> private:
> quint32 uniqId;
> }
>
> quint32 id_;
> };
>
> or to make id_ somehow static only to the instance of Editor.
>
> But both doesn't work. Instead, I have to pass id_ explicitely in every
> constructor call:
>
> Token(quint32 &id_) : uniqId(++id_) { }
Yes, you have to.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Senior Product Manager - Nokia, Qt Development Frameworks
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
_______________________________________________
Qt-interest mailing list
Qt-interest@xxxxxxxxxxxxx
http://lists.trolltech.com/mailman/listinfo/qt-interest
|
|