// Customer.h
#ifndef _CUSTOMER_H
#define _CUSTOMER_H
class Customer {
public:
Customer(int customerType);
private:
int customerType;
public:
virtual void action() = 0;
inline const int get_customerType() const;
};
inline const int Customer::get_customerType() const {
return customerType;
}
#endif
說明:
// VisitorCustomer.h
#ifndef _VISITORCUSTOMER_H
#define _VISITORCUSTOMER_H
#include "Customer.h"
class VIP;
class Ordinary;
class Premium;
class VisitorCustomer : public Customer {
public:
VisitorCustomer();
virtual void action(const Customer * customer);
virtual void action(const VIP * vip);
virtual void action(const Premium * premium);
virtual void action(const Ordinary * ordinary);
private:
#endif