C++类模板中成员函数创建时机

C++类模板中成员函数创建时机

类模板中成员函数和普通类中成员函数创建时机是有区别的:
1.普通类中的成员函数一开始就可以创建
2.类模板中成员函数在调用时才创建
代码:

#include<iostream>
using namespace std;
//类模板中成员函数创建时机
//1.普通类中的成员函数一开始就可以创建
//2.类模板中成员函数在调用时才创建
class Person1
{
    
    
public:
       void showPerson1()
       {
    
    
              cout << "Person1 show" << endl;
       }
};
class Person2
{
    
    
public:
       void showPerson2()
       {
    
    
              cout << "Person2 show" << endl;
       }
};
template<class T>
class MyClass
{
    
    
public:
       T obj;
       //类模板中的成员函数
       void func1()
       {
    
    
              obj.showPerson1();
       }
       void func2()
       {
    
    
              obj.showPerson2();
       }
};
void test01()
{
    
    
       MyClass<Person1>m;
       m.func1();
       //m.func2();
}
int main()
{
    
    
       test01();
       return 0;
}

总结:类模板中的成员函数并不是一开始就创建的,在调用时采取创建

猜你喜欢

转载自blog.csdn.net/gyqailxj/article/details/114032246