Шаблонные классы. Значения по умолчанию

В объявлении шаблонного класса допускается указывать значения по умолчанию после оператора = для конкретизации типа или значения константы. Если при создании объекта тип или значение не указаны, то будут использоваться значения по умолчанию (листинг 15.4).

Листинг 15.4. Значения по умолчанию в объявлении шаблонного класса

#include <iostream>

template<typename T=int, int y=100>
class C {
   T x_;
public:
   explicit C(T x) { x_ = x; }
   void print() {
      std::cout << "x_ = " << x_ << " y = " << y << std::endl;
   }
};

int main() {
   C<> a(10);            // Эквивалентно C<int, 100> a(10);
   a.print();
   C<double> b(12.5);    // Эквивалентно C<double, 100> b(12.5);
   b.print();
   C<double, 5> c(2.4);  // Конкретные значения
   c.print();
   return 0;
}

Учебник C++ (MinGW-W64)
Учебник C++ (MinGW-W64) в формате PDF

Помощь сайту

ЮMoney (Yandex-деньги): 410011140483022

ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов