51 lines
1.2 KiB
C++
51 lines
1.2 KiB
C++
//Funktionsdeklaration ax_funktions.hpp
|
|
|
|
#pragma once
|
|
|
|
namespace ax{
|
|
void print_number(int x)
|
|
{
|
|
std::cout << "Die Zahl ist: " << x << std::endl;
|
|
std::cout << "Das doppelte der Zahl ist: " << x*2 << std::endl;
|
|
}
|
|
|
|
void print_char(char x)
|
|
{
|
|
std::cout << x;
|
|
}
|
|
|
|
|
|
|
|
int sqrt(int x){
|
|
return x*x;
|
|
}
|
|
|
|
char shift(char x){
|
|
return x-1;
|
|
}
|
|
|
|
//allgmeine Funktion Deklaration ohne Argumente oder returns für einen unbekannten Datentyp
|
|
template<typename T> std::string type_name();
|
|
|
|
//Spezialisierte Implementation von type_name() für einen entsprechenden Datentyp vgl. mit überladung
|
|
template<> std::string type_name<int>() {return "Integer";}
|
|
template<> std::string type_name<char>(){return "Char";}
|
|
template<> std::string type_name<float>(){return "Float";}
|
|
template<> std::string type_name<double>(){return "Double";}
|
|
template<> std::string type_name<bool>(){return "Bool";}
|
|
|
|
|
|
|
|
|
|
template<typename T>
|
|
void ausgebene(T a){
|
|
std::cout << a << " ist vom Type " << type_name<T>()<< std::endl ;
|
|
}
|
|
|
|
//CallByRefference
|
|
|
|
int fn_CtUp (int &a){
|
|
a = ++a;
|
|
return 1;
|
|
}
|
|
} |