Jag har ett problem... Du skapar helt enkelt en funktion med andra argument. T.ex. men om jag aldrig har överlagra en sak hur ska jag då kunna hämta den som det står att jag ska göra? uppgift 8... Hej! Hade skrivit en jävla massa grejer här, men det försvann som vanligt när man hoppade tillbaks... =( He he! >Avsluta en sats med semikolon, det kan man kalla "arbets/miljöskada"! :-)Överlagra funktioner....
Jag har på en uppgift att man ska överlagra en funktion.
Sen har jag på en annan att man ska hämta en funktion som redan är överlagrad.
Hur gör man detta? Hur överlagrara man funktioner och hur hämtar man dom sen?Sv: Överlagra funktioner....
int f (int a)
{
return a+2;
}
void f (std::string s)
{
cout << s;
}
int main()
{
std::string a="Apa";
int b=5;
b=f(b); //anropar int f (int)
f(a); //anropar void f(std::string)
}
observera att argumenten måste vara olika, det räcker inte med returtypen.Sv: Överlagra funktioner....
<b>Uppgift 7:</b>
Överlagra funktionen <b>void ink(int& tal)</b> med <b>void ink(int& tal, int oekning)</b>, som öker värdet hos variabeln <b>tal</b> med <b>oekning</b> i stället för 1.
<code>
#include <iostream>
#include <conio>
void max(int t1, int t2);
void max(int t1, int t2, int t3);
int main()
{
float tal1,tal2,tal3;
cout << ".:: Program made by Linus Enbom ::." << endl << endl;
cout << "Mata in två flyttal: ";
cin >> tal1 >> tal2;
cout << "Största värdet är: " << max(tal1,tal2) << endl;
cout << "Mata in tre flyttal: ";
cin >> tal1 >> tal2 >> tal3;
cout << "Största värdet är: " << max(tal1,tal2,tal3) << endl;
getch();
}
void max(int t1, int t2)
{
if (t1>t2)
return t1;
return t2;
}
void max(int t1, int t2, int t3)
{
int maxv;
maxv=t1;
if (t2>maxv)
maxv=t2;
if (t3>maxv)
maxv=t3
return maxv;
}
</code><b>Uppgift 8:</b>
Kör åvanstående program. Skriv Motsvarande kod för funktionen <b>min()</b> (också överlagrad)
<b>Denna kod är anpassad till Borland C++ 5.</b>
Om du vill göra om koden så att den ska passa lite bättre till programen du använder så ska du byta ut alla <b>endl</b> till <b>"\n"</b> och sen så ska du byta ut include sattserna från: <b>#include < iostream > #include < conio ></b> till <b>#include < iostream.h > #include < conio.h ></b> så tror jag att det skulle funka...Sv: Överlagra funktioner....
Det står i uppgift 8 att du ska skriva funktionen "min" som ska överlagras.
Alltså får du göra en funktion som returnerar det minsta talet av de två som skickas in som argument.
Sen överlagrar du den och skriver en ny "min" funktion som tar tre tal som argument och returnerar det som är minst av dem.
/HåkanSv: Överlagra funktioner....
Hur som helst... I det sista du skriver (om borland); är det du som skrivit det?Sv: Överlagra funktioner....
Till Niklas, citat taget från ovan: "I det sista du skriver (om borland);"
Avsluta en sats med semikolon, det kan man kalla "arbets/miljöskada"! :-)
Håller med om det där med att tappa texten när man backar efter för lång tid (gör alltid en "copy").
/Håkan Sv: Överlagra funktioner....
Hehe... ibland händer det faktiskt att jag gör så, men i det här fallet var det meingen... =)
>Håller med om det där med att tappa texten när man backar efter för lång tid (gör alltid en "copy").
Jo, fy, jag brukar också göra en copy, men den här gången glömde jag det.
Kan kort skriva ihop min poäng igen, nu e jag lite gladare...
1. conio är borland-specifikt, bör aldrig användas. Använd typ cin.get eller nåt i den stilen istället.
2. Man skall alltid använda iostream, alltså inte iostream.h. Detta är inget borlandspecifikt, utan en del av standarden.
3. Skälet till att man bytte från iostream.h till iostream (bl.a.) var namespaces, och det verkar inte finnas i koden. Den är alltså felaktig, och den som skrivit DEN koden kan inte C++. Det kan du meddela din lärare (det var väl en gymnasieuppgift, va?)