2
2つのパラメータを1つの関数で使用するテンプレートの指定が必要です。ここにコードのサンプルがあります。1つの関数内で複数のテンプレートパラメータを使用したテンプレートの指定
#include <iostream>
#include <string>
template <typename T>
class Printer
{
public:
T value;
Printer(T value)
{
this->value = value;
}
void print();
};
template <typename T> void Printer<T>::print()
{
std::cout << value << "\n";
}
template <> void Printer<std::string>::print()
{
std::cout << "\"" << value <<"\"\n";
}
template <> void Printer<const char *>::print()
{
std::cout << "\"" << value <<"\"\n";
}
int main()
{
Printer<int> print1(2);
Printer<std::string> print2("Printing string");
Printer<const char *> print3("Printing char*");
print1.print();
print2.print();
print3.print();
}
私は1つの関数にstd::string
とconst char *
のテンプレートspeciazationを作ることができる方法はあります。彼らは同じことをしているので、私はこれが欲しい。