Person.h
<pre name="code" class="cpp"> #ifndef __PERSON__ #define __PERSON__ #include <iostream> #include <cstring> using namespace std; class Person{ public: string name; virtual void sayHello(); void test(); Person(string name){ name=name; } virtual ~Person(){ cout<<"person destructor \n"; } }; #endif
Girl.hios
#ifndef __GIRL__ #define __GIRL__ #include <iostream> #include <cstring> #include "Person.h" using namespace std; class Girl:public Person{ public : string sex; virtual void sayHello(); Girl(string name,string sex):Person(name),sex(sex){} virtual ~Girl(){ cout<<"girl destructor \n"; } }; #endif
<pre name="code" class="cpp">#include <iostream> #include <cstring> #include "Person.h" using namespace std; void Person::sayHello(){ cout<<"---i am a person my name is "<<name; } void Person::test(){ cout<<"---i am testing"; }
#include <iostream> #include <cstring> #include "Girl.h" #include "Person.h" using namespace std; void Girl::sayHello() { test(); cout<<"---hi , i am a girl \n"; }
#include <iostream> #include <cstring> #include "Girl.h" #include "Person.h" using namespace std; int main() { Person * p=new Girl("lily","nv"); p->sayHello(); delete p; return 0; }
運行結果:spa
---i am testing---hi , i am a girl
girl destructor
person destructor
code