【Effective C++】条款45: 运用成员函数模板接受所有兼容的类型
经过分析,可以发现,关键点在于拷贝构造函数,只要拷贝构造函数能复用编译器关于类型向上/向下,显式/隐式的转换规则,那我们的SmartPtr就可以模拟上面提到的类型转换.public继承意味着is-a关系,所有的基类都是派生类,但反之则不是,例如所有的学生都是人,但不是所有的人都是学生.但假设,我们写了一个智能指针类,当此智能指针的模板参数是这些类的时候,如何才能实现上述继承结构下的隐式转换呢?当我们使用了函数模板兼容了所以的类型后,如果模板类型参数T和U的类型相同,例如。此时两个对象的类型都相同,都是。
原创
2023-11-02 11:42:58 ·
189 阅读 ·
0 评论