模板类

#include <iostream>
using namespace std;

/**
 * 定义一个矩形类模板Rect
 * 成员函数:calcArea()、calePerimeter()
 * 数据成员:m_length、m_height
 */
template<typename T>
class Rect
{
public:
   Rect(T len, T hei);
   ~Rect();
   T calcArea();
   T calePerimeter();
public:
    T m_length;
    T m_height;
};

/**
 * 类属性赋值
 */
template<typename T>
Rect<T>::Rect(T length, T height)
{
    m_length = length;
    m_height = height;
}

/**
 * 面积方法实现
 */
template<typename T>
T Rect<T>::calcArea()
{
    return m_length * m_height;
}

/**
 * 周长方法实现
 */
template<typename T>
T Rect<T>::calePerimeter()
{
    return ( m_length + m_height) * 2;
}
template<typename T>
Rect<T>::~Rect(){
    cout << "析构函数" << endl;
}
int main(void)
{
    Rect<int> rect(3, 6);
    cout << rect.calcArea() << endl;
    cout << rect.calePerimeter() << endl;
    return 0;
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容