Другие языки программирования и технологии

Небольшая помощь по С++

Нужна небольшая помощь. Делаю лабораторную и столкнулся в небольшой проблемой.
Задание : // Напишите функцию вычисления произведения двух целых чисел.
Перегрузите функцию для работы с тремя и четырьмя целыми
числами и числами с плавающей точкой. Вынести объявления
функций в отдельный заголовочный файл и использовать функции
до их определения. Продемонстрировать в программе работу всех
функций.
....вот собственно что я написал
Код C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
float a,b,c,d, result;

cout<<"Эта программа вычислит произведение введенных вами чисел \n";
cout<<"Введите первое числo\n";
cin>>a;
cout<<"Введите второе число\n";
cin>>b;
cout<<"Введите третье число\n";
cin>>c;
cout<<"Введите четвертое число\n";
cin>>d;
result = a+b+c+d;
cout <<"ПРОИЗВЕДЕНИЯ ВСЕХ ВВЕДЕННЫХ ЧИСЕЛ РАВНЫ \n" << result <<"\n";
system("PAUSE");
....
Как использовать функции до их определения ??
#include <iostream>
using namespace std;
// объявление функций
long long mult(long, long);
float mult(long, long, long);
float mult(long, long, long, long);
double mult(float, float);
double mult(float, float, float);
double mult(float, float, float, float);
int main() {
    long x = 2147483647;
    // вызов функций
    cout << mult(x, x) << endl
         << mult(x, x, x) << endl
         << mult(x, x, x, x) << endl;
    float y = 2e30f;
    // вызов функций
    cout << mult(y, y) << endl
         << mult(y, y, y) << endl
         << mult(y, y, y, y) << endl;
    cin.get();
    return 0;
}
// определение функций
long long mult(long _a, long _b) { return long long(_a) * _b; }
float mult(long _a, long _b, long _c) { return float(_a) * _b * _c; }
float mult(long _a, long _b, long _c, long _d) { return float(_a) * _b * _c * _d; }
double mult(float _a, float _b) { return double(_a) * _b; }
double mult(float _a, float _b, float _c) { return double(_a) * _b * _c; }
double mult(float _a, float _b, float _c, float _d) { return double(_a) * _b * _c * _d; }
АК
Александр Киселёв
87 087
Лучший ответ
Продебы никак. Нужно объявить функцию пережде чем использовать, или же нужен компилятор умеющий их искать.
Алексей Дымочкин да вот я тоже так думаю, но в задании написано, значит есть какая-нибудь фишка ))
Андрей Загудеев Объявить и описать - разные вещи. Объявить - значит написать только заголовок функции без тела, можно даже без имен переменных в заголовке, этого компилятору хватит, что построить обращение к функции в программе дальше, подробное описание функции ему для этого не требуется. Но где-то это подробное описание дальше должно быть - это будет уже функция и с заголовком и с телом.
задайте этот вопрос лучше в группе "типичный программист там кто знает с++ есть люди в беде не оставят.. . но могут попаться наглые и попросить деньги"