//纯虚函数(抽象类)//1.当一个类具有一个纯虚函数,这个类就是抽象类//2.抽象类不能实例化对象//3.子类继承抽象类,必须要实现纯虚函数,如果没有实现,子类也是抽象类//形状
class Shape{
public://纯虚函数
virtual voidsayArea()=0;
private:};//圆
class Circle : public Shape {
public:Circle(int r){
this->r=r;}voidsayArea(){
cout <<"面积:"<<(3.14*r*r)<< endl;}
private :int r;};voidmain(){
Circle c1(20);
c1.sayArea();getchar();}//接口(只是逻辑上的划分,语法上跟抽象类的写法没有区别)/*
class Brawble{
virtual void draw();
};
效果
泛型(函数模板)
//函数模板(泛型)/*
void myswap(int &a,int &b) {
int tmp = 0;
tmp = a;
a = b;
b = tmp;
}
void myswap(char &a, char &b) {
char tmp = 0;
tmp = a;
a = b;
b = tmp;
}
*/
template <typename T>voidmyswap(T &a, T &b){
T tmp =0;
tmp = a;
a = b;
b = tmp;}voidmain(){int a =89, b =9;
myswap<int>(a,b);//可以指定类型
cout << a <<","<< b << endl;char m ='a', n ='b';myswap(m, n);
cout << m <<","<< n << endl;getchar();}