我的老师告诉我们,一个好的做法是将代码分隔在不同的文件中:main,funtions和header。 (他是对的还是我应该做不同的事情?我完全不信任他...)尝试做一个简单的例子(一个数字的绝对值),我设法做到了,但是后来我想使用一个模板,所以我不必定义数字的类型(我很习惯Matlab,所以我总是尝试使代码尽可能通用),但是随后,代码停止了工作。问题是模板,但是我没有足够的C ++知识来识别问题。我看不到任何奇怪的东西。这是代码。我使用的是Dev C ++,但是每次关闭项目时,文件都会消失,因此现在使用的是Qt。谢谢。
header.h
#ifndef HEADER_H
#define HEADER_H
#endif // HEADER_H
#include <iostream>
using namespace std;
// Prototipo de función
template <typename TIPOD>
TIPOD absoluto (TIPOD numero);
absoluto.cpp
// Funciones
#include "header.h"
#include<iostream>
template <typename TIPOD>
TIPOD absoluto( TIPOD numero){
if (numero < 0){
numero = numero * -1;
}
return numero;
}
main.cpp
// Main
int main() {
// Definimos los datos
int entero;
float flotante;
double doble;
// Pedimos los datos al usuario
cout<<"Introduce un entero: "; cin>>entero;
cout<<"Introduce un float: "; cin>>flotante;
cout<<"Introduce un doble: "; cin>>doble;
//Llamamos a la función
entero = holaa(entero);
flotante = holaa(flotante);
doble = holaa(doble);
// Imprimirmos los resultados
cout<<"\nEl absoluto del numero entero es: "<<entero<<endl;
cout<<"El absoluto del numero flotante es: "<<flotante<<endl;
cout<<"El absoluto del numero doble es: "<<doble<<endl<<endl;
system("pause");
return 0;
}