2002-05-28 21:13:45 +08:00
|
|
|
//
|
|
|
|
// 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;
|
|
|
|
}
|
|
|
|
|