A
Anthony
Hi,
I want to write protect an argument that is passed by reference.
But I still want to be able to call members of that argument.
E.g. code (bottum) will gives the following compiler error:
writeProtEvt.cpp: In member function `virtual void A:rint(const B*)':
writeProtEvt.cpp:24: error: passing `const B' as `this' argument of `virtual
void B:rint()' discards qualifiers
Can anyone explain how to do this the right way?
thanks in advance,
Anthony Lansbergen
// -------------------------------------------------------------------------
---
#include <ostream.h>
Class B
{
public:
virtual void print()
{
cout << "printB" << std::endl;
}
};
class A
{
public:
virtual void print(const B* b)
{
cout << "printA" << std::endl;
b->print();
}
};
main()
{
cout << "test" << std::endl;
A* a;
B* b;
a = new A();
b = new B();
a->print(b);
}
I want to write protect an argument that is passed by reference.
But I still want to be able to call members of that argument.
E.g. code (bottum) will gives the following compiler error:
writeProtEvt.cpp: In member function `virtual void A:rint(const B*)':
writeProtEvt.cpp:24: error: passing `const B' as `this' argument of `virtual
void B:rint()' discards qualifiers
Can anyone explain how to do this the right way?
thanks in advance,
Anthony Lansbergen
// -------------------------------------------------------------------------
---
#include <ostream.h>
Class B
{
public:
virtual void print()
{
cout << "printB" << std::endl;
}
};
class A
{
public:
virtual void print(const B* b)
{
cout << "printA" << std::endl;
b->print();
}
};
main()
{
cout << "test" << std::endl;
A* a;
B* b;
a = new A();
b = new B();
a->print(b);
}