首页 > 其他 > 详细

类模板中的成员函数创建时机(5)

时间:2020-04-27 10:31:32      阅读:77      评论:0      收藏:0      [点我收藏+]

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

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

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

 1 #include <iostream>
 2 using namespace std;
 3 
 4 //类模板中成员函数创建时机
 5 //类模板中的成员函数在调用时才会创建
 6 
 7 class Person1
 8 {
 9 public:
10     void showPerson1(void)
11     {
12         cout << "Person1 show!" << endl;
13     }
14 };
15  
16 class Person2
17 {
18 public:
19     void showPerson2(void)
20     {
21         cout << "Person2 show!" << endl;
22     }
23 };
24 
25 template<class T>
26 class MyClass
27 {
28 public:
29     
30     T obj;
31 
32     //类模板中的成员函数
33     void func1(void)
34     {
35         obj.showPerson1();
36     }
37 
38     void func2(void)
39     {
40         obj.showPerson2();
41     }
42 };
43 
44 void test_01(void)
45 {
46     MyClass<Person1>m;
47     m.func1();
48     m.func2();//报错,类模板成员函数func2中的showPerson2不是Person1的成员
49 
50 }
51 
52 int main(void)
53 {
54     test_01();
55 
56     system("pause");
57     return 0;
58 }
 1 #include <iostream>
 2 using namespace std;
 3 
 4 //类模板中成员函数创建时机
 5 //类模板中的成员函数在调用时才会创建
 6 
 7 class Person1
 8 {
 9 public:
10     void showPerson1(void)
11     {
12         cout << "Person1 show!" << endl;
13     }
14 };
15  
16 class Person2
17 {
18 public:
19     void showPerson2(void)
20     {
21         cout << "Person2 show!" << endl;
22     }
23 };
24 
25 template<class T>
26 class MyClass
27 {
28 public:
29     
30     T obj;
31 
32     //类模板中的成员函数
33     void func1(void)
34     {
35         obj.showPerson1();
36     }
37 
38     void func2(void)
39     {
40         obj.showPerson2();
41     }
42 };
43 
44 void test_01(void)
45 {
46     MyClass<Person1>m;
47     m.func1();
48     //m.func2();//报错,类模板成员函数func2中的showPerson2不是Person1的成员,所以类模板成员函数func2无法被创建
49 }
50 
51 int main(void)
52 {
53     test_01();
54 
55     system("pause");
56     return 0;
57 }

 

类模板中的成员函数创建时机(5)

原文:https://www.cnblogs.com/huanian/p/12784698.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!