newlib-cygwin/winsup/mingw/samples/dlltest/silly.cpp

56 lines
880 B
C++

//
// C++ test of a dll which contains a C++ class.
//
#include <stdlib.h>
#include <stdio.h>
// Interface of class.
#include "silly.h"
#ifdef DERIVED_TEST
// Here is a derived class too.
class CMoreSilly : public CSilly
{
public:
CMoreSilly (char* szNewName) : CSilly (szNewName) {};
~CMoreSilly ();
WhatsYourName();
};
CMoreSilly::
~CMoreSilly ()
{
printf ("In CMoreSilly \"%s\" destructor!\n", szName);
}
CMoreSilly::
WhatsYourName ()
{
printf ("I'm more silly and my name is \"%s\"\n", szName);
}
#endif
int
main ()
{
CSilly* psilly = new CSilly("silly");
psilly->WhatsYourName();
psilly->Poke(); // Poke him, he should say "Ouch!"
psilly->Stab(4); // Stab him four times he should say "Ugh!!!!"
delete psilly;
#ifdef DERIVED_TEST
psilly = new CMoreSilly("more silly");
psilly->WhatsYourName();
psilly->Stab(5);
delete psilly;
#endif
return 0;
}