模板中的多态

2022-01-07  本文已影响0人  404Not_Found

即 静态多态。较为简单

class Men  {
public:
     void eat() {
        cout << "man eat noodels" << endl;
    }
};

class Women  {
public:
     void eat() {
        cout << "Women eat rice" << endl;
    }
};

template<typename T>
void eatTmp1(T & obj) {
    obj.eat();
}

int main() {
    //这种多态,编译器在编译期间,会实例化出 eatTmp1<Men> eatTmp<Women>
    Men objmen;
    Women objwomen;

    eatTmp1(objmen);
    eatTmp1(objwomen);

    return 0;
}

有 eat 成员函数即可,编译期间完成

上一篇 下一篇

猜你喜欢

热点阅读