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

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

#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;
}
//вот что я так себе написал



Конечно! Вот пример шаблонной функции, которая возвращает квадрат, куб и четвертую степень своего параметра:
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
, который может быть целочисленным или вещественным типом данных.
Вы можете запустить этот код и увидеть результаты для различных типов.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili