#include <QPointF>
class ClassA
{
public:
ClassA() {}
virtual ~ClassA() {}
virtual double zValue( double xpos, double ypos, bool* ok=0 ) const=0;
double zValue( const QPointF& xy, bool* ok=0 ) const;
};
double ClassA::zValue( const QPointF& xy, bool* ok ) const
{
return zValue( xy.x(), xy.y(), ok );
}
class ClassB : public ClassA
{
public:
ClassB() {}
~ClassB() {}
virtual double zValue( double xpos, double ypos, bool* ok=0 ) const;
};
double ClassB::zValue( double xpos, double ypos, bool* ok ) const
{
if ( ok ) *ok = true;
return xpos + ypos;
}
int main()
{
ClassB mess;
bool ok;
mess.
zValue( QPointF( 0,
0 ),
&ok
);
}
#include <QPointF>
class ClassA
{
public:
ClassA() {}
virtual ~ClassA() {}
virtual double zValue( double xpos, double ypos, bool* ok=0 ) const=0;
double zValue( const QPointF& xy, bool* ok=0 ) const;
};
double ClassA::zValue( const QPointF& xy, bool* ok ) const
{
return zValue( xy.x(), xy.y(), ok );
}
class ClassB : public ClassA
{
public:
ClassB() {}
~ClassB() {}
virtual double zValue( double xpos, double ypos, bool* ok=0 ) const;
};
double ClassB::zValue( double xpos, double ypos, bool* ok ) const
{
if ( ok ) *ok = true;
return xpos + ypos;
}
int main()
{
ClassB mess;
bool ok;
mess.zValue( QPointF( 0, 0 ), &ok );
}
To copy to clipboard, switch view to plain text mode
Bookmarks