//fish.h
class fish
{
public:
fish();
virtual ~fish();
virtual void water();
};
//fish.cpp
#include "pch.h"
#include "fish.h"
#include <iostream>
using namespace std;
fish::fish()
{
cout << "fish build" << endl;
}
fish::~fish()
{
cout << "fish free" << endl;
}
void fish::water()
{
cout << "Fish water. " << endl;
}
//whale.h
#include "fish.h"
class whale :
public fish
{
public:
whale();
~whale();
void water();
};
//whale.cpp
#include "pch.h"
#include "whale.h"
#include <iostream>
using namespace std;
whale::whale()
{
cout << "whale build" << endl;
}
whale::~whale()
{
cout << "whale free " << endl;
}
void whale::water()
{
cout << "whale water. " << endl;
}
//test.cpp #include "test.h" #include "pch.h" #include "fish.h" #include <iostream> using namespace std; void Fun(fish *f) { f->water(); cout << "test build" << endl; } //main #include "pch.h" #include <iostream> #include "test.h" #include "fish.h" #include "whale.h" #include "test.h" using namespace std; int main() { std::cout << "Hello World!\n"; /* fish *f = new fish; f->water(); fish g; g.water(); */ whale *j = new whale; j->water(); whale h; h.water(); whale k; fish &l = k; Fun(&l); // delete f; delete j; }
原文:https://www.cnblogs.com/ezlulu1314/p/12786608.html