Вопрос задан 18.02.2021 в 09:31. Предмет Информатика. Спрашивает Петров Кирилл.

Написать шаблонную функцию, возвращающую одновременно квадрат, куб и четвертую степень своего

параметра. Проверить работоспособность шаблонной функции для целочисленных типов (int/long/short) и вещественных типов (float/double). с++
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Макаревич Евгений.

#include <bits/stdc++.h>

template<typename Type3>

class BS{

public:

Type3 deg2,deg3,deg4;

void info(){

std::cout<<deg2<<" "<<deg3<<" "<<deg4<<std::endl;

}

};

template<typename Type,typename Type1>

BS<Type1>KReturn(Type A){

BS<Type1>example;

example.deg2=std::pow(A,2);

example.deg3=std::pow(A,3);

example.deg4=std::pow(A,4);

return example;

}

int main(){

BS<int>ex1;

BS<float>ex2;

ex1=KReturn(5);

ex2=KReturn(5.5);

ex1.info();

ex2.info();

return 0;

}

//вот что я так себе написал

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно! Вот пример шаблонной функции, которая возвращает квадрат, куб и четвертую степень своего параметра:

cpp
#include <iostream> template <typename T> std::tuple<T, T, T> calculatePowers(T value) { T square = value * value; T cube = square * value; T fourthPower = cube * value; return std::make_tuple(square, cube, fourthPower); } int main() { // Проверка для целочисленных типов int intValue = 2; auto intResults = calculatePowers(intValue); std::cout << "Int results: Square = " << std::get<0>(intResults) << ", Cube = " << std::get<1>(intResults) << ", Fourth power = " << std::get<2>(intResults) << std::endl; long longValue = 3; auto longResults = calculatePowers(longValue); std::cout << "Long results: Square = " << std::get<0>(longResults) << ", Cube = " << std::get<1>(longResults) << ", Fourth power = " << std::get<2>(longResults) << std::endl; short shortValue = 4; auto shortResults = calculatePowers(shortValue); std::cout << "Short results: Square = " << std::get<0>(shortResults) << ", Cube = " << std::get<1>(shortResults) << ", Fourth power = " << std::get<2>(shortResults) << std::endl; // Проверка для вещественных типов float floatValue = 1.5f; auto floatResults = calculatePowers(floatValue); std::cout << "Float results: Square = " << std::get<0>(floatResults) << ", Cube = " << std::get<1>(floatResults) << ", Fourth power = " << std::get<2>(floatResults) << std::endl; double doubleValue = 2.5; auto doubleResults = calculatePowers(doubleValue); std::cout << "Double results: Square = " << std::get<0>(doubleResults) << ", Cube = " << std::get<1>(doubleResults) << ", Fourth power = " << std::get<2>(doubleResults) << std::endl; return 0; }

Этот пример использует структуру std::tuple для возвращения трех значений - квадрата, куба и четвертой степени. Функция calculatePowers принимает параметр типа T, который может быть целочисленным или вещественным типом данных.

Вы можете запустить этот код и увидеть результаты для различных типов.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос