Re: address of virtual member function passed as template argument

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



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;
};


.



Relevant Pages

  • Re: Using an enum in a constructor
    ... private static final int DEFAULT_LENGTH = 30; ... private int ivLength; ... abstract class Foo { ... class FooVariable extends FooType { ...
    (comp.lang.java.programmer)
  • Lost references?
    ... template class Foo { ... int main{ ...
    (comp.lang.cpp)
  • Re: address of virtual member function passed as template argument
    ... int getValue() const ... If you make getValue() oder setValue() virtual, ...
    (microsoft.public.vc.language)
  • Re: class variables: scoping
    ... I think I misunderstood your original requirement. ... make a private variable which is accessible to only 1 member function. ... > class Foo { ... > int compute{ ...
    (comp.lang.cpp)
  • Re: Two Questions: JSpinner and datatype
    ... getValuefrom the JSpinner always returning shorts? ... in getValue() returning an Integer or something other than Short? ... The relevant 1.6 API signature is SpinnerNumberModel(int value, ...
    (comp.lang.java.programmer)