#include <iostream>
using namespace std;
class Window
{
public:
Window(){
cout<<"construct window "<<endl;
}
Window(const Window & win){
cout<<"copy construct window "<<endl;
}
virtual void on()
{
cerr <<"window "<< this << endl;
}
};
struct SWindow: public Window
{
public:
virtual void on()
{
(static_cast<Window>(*this)).on();//先通过Window的拷贝构造函数生成一个新的对象
cerr <<" swindow " << this << endl;
}
};
int main()
{
SWindow w;
w.on();
Window win1 = w;//这两句话都是调用Window的拷贝构造函数
Window win(w);
return 0;
}
本文详细介绍了C++中模板元编程的概念,并通过智能指针的例子展示了其在解决内存管理问题上的优势。从底层原理到实际应用,文章提供了全面的解析,帮助读者深入理解C++中这一高级特性。
1720

被折叠的 条评论
为什么被折叠?



