c++小例子

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.h

#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

Person.cpp

<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";
}

 Girl.cpp

#include <iostream>
#include <cstring>
#include "Girl.h"
#include "Person.h"
using namespace std;
void Girl::sayHello()
{
    test();
    cout<<"---hi , i am a girl \n";
}

main.cpp

#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;
}

运行结果:

---i am testing---hi , i am a girl
girl destructor
person destructor



你可能感兴趣的:(虚函数,虚析构函数,public继承,c++小例子)