Hallo mensen.
ik heb een klein vraagje:
ik zit met een programma waarbij de gebruiker een waarde in moet voeren. deze waarde moet ik gebruiken in een functie. alleen kan deze waarde van verschillende types zijn (int,long,float,double). Ik dacht dat dit wel opgelost kon worden door middel van functie polyform. op de volgende manier:
#include <iostream>
using namspace std;
//functie prototype:
int neemwaarde(int);
long neemwaarde(long);
double neemwaarde(double);
float neemwaarde(float);
int main()
{
//IK WEET DAT DE ONDERSTAANDE REGEL NIET GELDIG IS ALLEEN DIT ILLUSTREERT MIJN IDEE
neemwaarde(cin);
return 0;
}
int neemwaarde(int waarde)
{
cout << "dit is de int functie\n";
return waarde;
}
long neemwaarde(long waarde)
{
cout << "dit is de long functie\n";
return waarde;
}
double neemwaarde(double waarde)
{
cout << "dit is de double functie\n";
return waarde;
}
float neemwaarde(float waarde)
{
cout << "dit is de int functie\n";
return waarde;
}
zoals jullie zin heb ik voor elk toegestane type een functie gemaakt. als je bijvoorbeeld een int waarde invult als parameter. wordt de wordt de int functie van neemwaarde gebruikt. alleen weet ik wel welke waardes zijn toegestaan in het programma alleen weet ik niet welke waarde de gebruiker invoer daarom zou ik ook niet bijvoorbeeld dit kunnen gebruiken:
int x = 0;
cin >> x;
daarom dacht ik als de ingevoerde waarde van CIN direct zou kunnen meegeven aan de functie als parameter. ik had dit al geprobeerd.
neemwaarde(cin);
alleen dit werkte niet, daarom vraag ik aan jullie als jullie kunnen zien wat ik fout doe, en als dit eventueel wel mogelijk is.
Alvast bedankt voor jullie hulp.
JV.com