Как создать шаблон класса и потом создать и вызвать функцию типа данного класса?

223
07 июля 2017, 06:45

Добрый день! Имеется код:

class Newclass
{
 int x;
 int y;
 type z;
}
Newclass Newfunction(parametrtype1);
Newclass Newfunction2(parametrtype1);
Newclass Newfunction (parametrtype1 parametrname)
{
 //тело функции
}
Newclass Newfunction2 (parametrtype1 parametrname)
{
 //тело функции
}
int main()
{
parametrtype1 variable;
 //вызов функции
Newfunction(variable);
Newfunction2(variable);
}

Дело в том, что по задумке член класса Newclass z - должен получить различные типы данных, в зависимости от того, что возвращает функция. Это можно реализовать с помощью шаблонов, но в данный момент я не могу разобраться, как это реализовать. Помогите пожалуйста.

Answer 1

Вот:

#include <iostream>
template<class T>
class Newclass {
public:
  int x;
  int y;
  T z;
  Newclass(T z): z(z) {}
  void Newfunction2(T value) {
    std::cout << this->z << " " << value << std::endl;
  }
};

int return_variable(){
  std::cout << "return int(1)" << std::endl;
  return 1;
}

int main() {
  auto value = return_variable();
  Newclass<decltype(value)> c(value);
  c.Newfunction2(1);
}

Это есть в документации языка.

READ ALSO
Как получить код сайта через url? [требует правки]

Как получить код сайта через url? [требует правки]

Как получить код сайта на c++, используя curl?

280
Привязка данных

Привязка данных

Есть два div-a, в одном находится редактируемый текст, в другом при выделении текста отображается выделенная частьНеобходимо при редактировании...

231
Аналог .closest(), только наоборот

Аналог .closest(), только наоборот

Подскажите пожалуйста аналог функцииclosest(), только чтоб перебор от родителя к ребенку до указанного элемента

319
XMLHttpRequest cannot load. No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource

XMLHttpRequest cannot load. No 'Access-Control-Allow-Origin' header is present on the requested resource

Добрый деньЕсть задача: используя REST API сервиса доставки, описанный здесь, осуществить запрос стоимости доставки

270