美文网首页
泛型模板编程

泛型模板编程

作者: 大啸 | 来源:发表于2020-05-27 14:04 被阅读0次

#include <iostream>

#include <unordered_map>

#include <string>

class Top

{

public:

virtual void run(){}

virtual ~Top(){}

};

class Middle : public Top

{

void run() override { std::cout << "Middle\n"; }

};

class Buttom : public Top

{

void run() override { std::cout << "Buttom\n"; }

};

template<typename T>

class SmartPtr

{

public:

SmartPtr(T* realPtr) : ptr(realPtr){}

template<typename U>

SmartPtr(const SmartPtr<U>& other) : ptr(other.get()) {}

T* get() const { return ptr; }

template<typename U>

SmartPtr<T>* operator = (const SmartPtr<U>& other)

{

ptr = other.get();

return this;

}

T* operator -> ()

{

return ptr;

}

private:

T* ptr;

};

int main()

{

SmartPtr<Top> ptr1 = SmartPtr<Buttom>(new Buttom);

ptr1->run();

SmartPtr<Middle> ptr3(new Middle);

ptr1 = ptr3;

ptr1->run();

return 0;

}

相关文章

  • 极客班STL与泛型编程(第一周笔记)

    C++模板 什么是泛型编程和模板? 泛型是一种编程思想,而模板是泛型编程在C++上的实现方法 以往的函数都会是有固...

  • 模板特化

    模板是C++泛型编程编程的基础,STL从头到尾都是模板泛型编程 函数模板 类模板 几个需要注意的点1. 类模板的和...

  • android 源码阅读的C++语法准备7 模板 文件和流 ST

    模板 模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式...

  • C++模板

    描述 所谓泛型编程即是以一种独立于特定类型的方式进行编程。而在C++中,模板是泛型编程的基础。模板大致分为函数模板...

  • 关于STL与泛型编程学习感想一(博览网)

    C++标准库与泛型编程 泛型编程(Generic Programming)就是使用模板(template)为主要工...

  • 1.3.05_C++ 模板

    模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。 模板是创建泛型类或函数的蓝图或公式。库容...

  • 模板于数组应用之间的注意点

    模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。模板是创建泛型类或函数的蓝图或公式。库容器...

  • c++模板

    模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。可以使用模板来定义函数和类 函数模板 模板...

  • C++ 模版

    模板(template)是为了支持泛型编程(Generic programming)而存在的,所谓泛型,也就是不依...

  • 第一讲&第二讲(Geek Band)

    标准库与泛型编程 内容提示:泛型编程(GP)与面向对象编程(OOP)的根本差异,模板的意义以及运用。 课程目标: ...

网友评论

      本文标题:泛型模板编程

      本文链接:https://www.haomeiwen.com/subject/ooswahtx.html