piece of code stl

#include <iostream>


using namespace std;


class Base{};
class Dri1: public Base{};
class Dri2: public Base{};
class Gra: public Dri1, Dri2{};


template <class I>
void print(I&, Base)
{
        cout << "Using Base" <<endl;
        return;
}


template <class I>
void print(I&, Dri1)
{
        cout << "Using Dri1" << endl;
        return;
}


template <class I>
void print(I&, Dri2)
{
        cout << "Using Dri2" << endl;
        return;
}




template <class I>
void print(I&, Gra)
{
        cout << "Using Gra" << endl;
        return;
}


int main()
{
        int a = 8;
        print(a, Base());
        print(a, Dri1());
        print(a, Dri2());
        print(a, Gra());

        return 0;

}


===========================================================================================================================================

Using Base
Using Dri1
Using Dri2
Using Gra


你可能感兴趣的:(piece of code stl)