0
点赞
收藏
分享

微信扫一扫

C++ 函数模板与类模板

绣文字 2022-01-16 阅读 72
c++

(1)函数模板

  • 参考:C++函数模板5分钟入门教程
  • 在C++中,数据的类型也可以通过参数来传递,在函数定义时可以不指明具体的数据类型,当发生函数调用时,编译器可以根据传入的实参自动推断数据类型。这就是类型的参数化。值(Value)和类型(Type)是数据的两个主要特征,它们在C++中都可以被参数化。
  • 模板函数的语法:
  • 简单的例子,通过模板可以少写很多"差不多的函数"

(2)类模板

  • 类模板的语法
  • 类模板:类函数的定义与类的声明
  • 类模板创建对象
  • 简单的Demo
#include <iostream>

template <typename T1, typename T2>
class Point {
public:
    Point(T1 x, T2 y):
    m_X(x),
    m_Y(y){
        
    };
    T1 getX() const;
private:
    T1 m_X;
    T2 m_Y;
};

template <typename T1, typename T2>
T1 Point<T1, T2>::getX() const
{
    return m_X;
}

int main() {
    Point<float, int> p1(10.5, 20);
    std::cout << p1.getX() << std::endl;

    Point<float, int> *p2 = new Point<float, int>(10.2, 20);
    std::cout << p2->getX() << std::endl;

    return 0;
}

 

举报

相关推荐

0 条评论