对于C++新人来说,virtual就能把我们搞的一头雾水,就更别提牛B闪闪、功能如霸王龙般强大的模板了,有的事情从简单着手,未必不是一个好的策略!
下面是对virtual和template的简单使用
#include<iostream>
using namespace std;
class A {
public:
virtual void printPrice(string _string){
cout<<"the price is A"<<endl;
}
};
class B : public A {
public:
void printPrice(string _string){
cout<<"the price is B"<<endl;
}
};
template<typename T>
class D {
public:
void print(T &t){
t.printPrice("A");
}
};
int main(){
A a;
B b;
D <A>d;
d.print(b);
return 0;
}
A类中的printPrice()函数定义为虚函数,是为了声明该函数在派生类中是要被重写的,如果利用派生类的对象来