c++之类模板成员函数创建时机

时间:2022-07-23
本文章向大家介绍c++之类模板成员函数创建时机,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

l诶模板中成员函数和普通类成员函数创建的时机是有区别的:

1.普通的成员函数一开始就可以创建;

2.类模板的成员函数在调用时才创建;

#include<iostream>
using namespace std;

class Person1 {
public:
    void showPerson1() {
        cout << "这里是person1" << endl;
    }
};
class Person2 {
public:
    void showPerson2() {
        cout << "这里是person2" << endl;
    }
};

//不确定obj的类型,所以这里是可以编译成功的
template<class T>
class Person {
public:
    T obj;
    void show1() {
        obj.showPerson1();
    }
    void show2() {
        obj.showPerson2();
    }
};

void test() {
    //这里传入了Person1之后,show1才被创建
    Person<Person1> p;
    p.show1();
    //p.show2();
}

int main() {
    test();
    system("pause");
    return 0;
}