pr15008.cpp

来自「c++编程宝典源码及Quincy99编译器 是《标准C++编程宝典》电子工业出」· C++ 代码 · 共 59 行

CPP
59
字号
////////////////////////////////////////
// File Name: pr15008.cpp
////////////////////////////////////////
#include <iostream>

////////////////////////////////////////
// Primary template.
////////////////////////////////////////
template <class T1, class T2>
class MyTemplate
{
    T1 obj1;
    T2 obj2;

public:
    MyTemplate(T1 o1, T2 o2) : obj1(o1), obj2(o2){}

    void display()
    {
        std::cout << "OBJECT DISPLAY" << std::endl;
        std::cout << "--------------" << std::endl;
        std::cout << "Object 1: " << obj1 << std::endl;
        std::cout << "Object 2: " << obj2 << std::endl;
        std::cout << std::endl;
    }
};

////////////////////////////////////////
// Template partial specialization.
////////////////////////////////////////
template <class T>
class MyTemplate<T, char>
{
    T obj1, obj2;
public:
    MyTemplate(T o1, char c) : obj1(o1), obj2(o1)
        {obj2 += (int)c;}

    void display()
    {
        std::cout << "OBJECT DISPLAY" << std::endl;
        std::cout << "--------------" << std::endl;
        std::cout << "Object 1: " << obj1 << std::endl;
        std::cout << "Object 2: " << obj2 << std::endl;
        std::cout << std::endl;
    }
};

////////////////////////////////////////
// The main() function.
////////////////////////////////////////
int main()
{
    MyTemplate<int, int> mt1(10, 20);
    MyTemplate<int, char> mt2(10, 'B');
    mt1.display();
    mt2.display();
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?