码迷,mamicode.com
首页 > 其他好文 > 详细

ATL

时间:2014-05-30 22:11:13      阅读:342      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   java   

(1)ATL如何使用模板类

bubuko.com,布布扣
 1 #include <iostream>
 2 using namespace std;
 3 
 4 class CBase
 5 {
 6 public:
 7     CBase(){}
 8     ~CBase(){}
 9 
10     void BaseMethod()
11     {
12         cout << "BaseMethod in Base" << endl; 
13     }
14 };
15 
16 class CDerived : public CBase
17 {
18 public:
19     CDerived() {}
20     ~CDerived() {}
21 };
22 
23 template<class T>
24 class CComObject : public T
25 {
26 public:
27     CComObject() {}
28     ~CComObject() {}
29 
30     void CallBaseMethod()
31     {
32         T * pT = static_cast<T*>(this);
33         pT->BaseMethod();
34     }
35 };
36 
37 int main()
38 {
39     CComObject<CDerived> * pDerived = new CComObject<CDerived>;
40     pDerived->CallBaseMethod();
41     delete pDerived;
42 }
bubuko.com,布布扣

为了更加快速和高效,ATL尽量避免使用虚函数,因为在大的类层次中,调用虚函数的代价比较高(运行速度和代码增长)

ATL,布布扣,bubuko.com

ATL

标签:c   style   class   blog   code   java   

原文地址:http://www.cnblogs.com/aoun/p/3760051.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!