[gmpi] Re: C++ detail question
- From: Jeff McClintock <jeffmcc@xxxxxxxxxx>
- To: gmpi@xxxxxxxxxxxxx
- Date: Thu, 03 Mar 2005 10:22:24 +1300
Oh you have a struct Foo, and you cast it to a class CFoo (which has
extra members).
You can not use virtual methods, because struct Foo has no vtable ( i'm
assuming struct Foo, is a C struct, not a C++ struct which can have
virtual members).
You can in general use non-virtual methods. Don't think it's considered
good practice though.
usually better to construct a new CFoo using Foo to initialise it.
i take it we're talking about GUIDs, and the need for operator== and
operator<.
Might be easier to have no wrapper class at all, but to simply define
non-member functions for comparison and equality. That would allow you
to use struct GMPI_GUID in a STL map, without any modification to the
struct.
Jeff
Tim Hockin wrote:
On Thu, Mar 03, 2005 at 10:01:09AM +1300, Jeff McClintock wrote:
OK, so second question. If I cast a "struct Foo *" to a "class CFoo *",
what happens? Can I use non-virtual methods on it? Can I use virtual
methods on it?
Obviously, I could not access any data members that are part of CFoo but
not Foo, right?
Well no. Since CFoo inherits from Foo, a pointer to CFoo can access Foo
members (provided they're public of course).
Re-read what I wrote :) A CFoo that came from a Foo can access Foo
members but not CFoo members.
----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules: Please stay on topic. You are responsible for your own
words. Please respect your fellow subscribers. Please do not
redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules: Please stay on topic. You are responsible for your own
words. Please respect your fellow subscribers. Please do not
redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- Follow-Ups:
- [gmpi] Re: C++ detail question
- From: Tim Hockin
- References:
- [gmpi] C++ detail question
- From: Tim Hockin
- [gmpi] Re: C++ detail question
- From: Paul Davis
- [gmpi] Re: C++ detail question
- From: Tim Hockin
- [gmpi] Re: C++ detail question
- From: Jeff McClintock
- [gmpi] Re: C++ detail question
- From: Tim Hockin
Other related posts:
- » [gmpi] C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
- » [gmpi] Re: C++ detail question
On Thu, Mar 03, 2005 at 10:01:09AM +1300, Jeff McClintock wrote:
OK, so second question. If I cast a "struct Foo *" to a "class CFoo *", what happens? Can I use non-virtual methods on it? Can I use virtual methods on it?
Obviously, I could not access any data members that are part of CFoo but not Foo, right?
Well no. Since CFoo inherits from Foo, a pointer to CFoo can access Foo members (provided they're public of course).
Re-read what I wrote :) A CFoo that came from a Foo can access Foo members but not CFoo members.
---------------------------------------------------------------------- Generalized Music Plugin Interface (GMPI) public discussion list Participation in this list is contingent upon your abiding by the following rules: Please stay on topic. You are responsible for your own words. Please respect your fellow subscribers. Please do not redistribute anyone else's words without their permission.
Archive: http://www.freelists.org/archives/gmpi Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe
- [gmpi] Re: C++ detail question
- From: Tim Hockin
- [gmpi] C++ detail question
- From: Tim Hockin
- [gmpi] Re: C++ detail question
- From: Paul Davis
- [gmpi] Re: C++ detail question
- From: Tim Hockin
- [gmpi] Re: C++ detail question
- From: Jeff McClintock
- [gmpi] Re: C++ detail question
- From: Tim Hockin