Re: address of virtual member function passed as template argument
- From: "Ben Voigt" <rbv@xxxxxxxxxxxxx>
- Date: Mon, 19 Mar 2007 13:06:24 -0500
The problem is that this doesn't fit my needs. But thank you for your
response.
I want to use Boost.Property and therefor it need to pass those
addresses to boost::property::object_property<...>
consider the following example:
<code>
class foo
{
private:
int value;
public:
int getValue() const { return value; }
void setValue(const int& v) { value = v; }
boost::scalar_property< boost::object_property
<
char, foo,
&foo::getValue,
&foo::setValue
};Value;
</code>
If you make getValue() oder setValue() virtual, it crashes.
Well, i could pass pointers to getValue and setValue to the property
using it's custuctor at RunTime.
But i had to write my own property-lib for that and (more importantly)
it wouldn't fit into my OOP-system that well. (would be better if
every devired class _had_ to use getValue and setValue for their
properties)
How about:
class foo
{
private:
int value;
int proxygetValue() const { return getValue(); }
void proxysetValue(const int& v) { setValue(v); }
public:
virtual int getValue() const { return value; }
virtual void setValue(const int& v) { value = v; }
boost::scalar_property< boost::object_property
<
char, foo,
&foo::proxygetValue,
&foo::proxysetValue
};Value;
.
- References:
- address of virtual member function passed as template argument
- From: pascal . zschumme
- Re: address of virtual member function passed as template argument
- From: Alex Blekhman
- Re: address of virtual member function passed as template argument
- From: pascal . zschumme
- address of virtual member function passed as template argument
- Prev by Date: Re: address of virtual member function passed as template argument
- Next by Date: Re: GetSystemInfo
- Previous by thread: Re: address of virtual member function passed as template argument
- Next by thread: How to get Intellisense to work in VC++ 2005
- Index(es):
Relevant Pages
|