Hej! Jag skulle rekommendera dig att markera LNK... -delen och trycka F1.C++ kod fel
Har lite problem med min kod. Jag har skrivit en klass som kallas för "konto". Kontot skall kunna lagra ett saldo och när man skapar ett "konto" så skall man kunna göra det med ett saldo direkt men man skall också kunna skapa ett tomt saldo. Ett konto ska också innehålla en sträng som lagrar namnet på kontoinnehavaren
(6 bokstäver). Med ett konto skall man kunna, förutom att skapa det, sätta in pengar (ändra på saldot) samt kolla aktuellt saldo på ett konto. Man skall även kunna kolla vem som är kontoinnehavare.
Objektorientering med inkapsling och get och set-metoder skall användas. Variabler ska vara deklarerade private eller protected medans metoder ska vara public.
Så här ser koden ut:
#ifndef _konto_H_
#define _konto_H_
class konto
{
public:
konto( char* name);
konto( char* name, double saldo );
~konto(){};
void setName(char* name);
char getName(char* name);
void setSaldo(double saldo){itsSaldo = saldo;}
double getSaldo(double itsSaldo){return itsSaldo;}
void setNummer(int nr);
int getNummer(int itsNummer=0) {return itsNummer;}
sattIn(double x);
taUt(double y);
visakonto();
private:
char itsName[7];
double itsSaldo ;
int itsNummer;
};
#endif
#include "konto.h"
#include <iostream.h>
#include <cstring>
konto::konto( char* name)
{
strcpy(itsName,name);
itsSaldo = 0;
}
konto::konto( char* name, double saldo)
{
strcpy(itsName,name);
setSaldo(saldo);
}
konto:: sattIn(double x)
{
itsSaldo = itsSaldo + x;
}
konto::taUt(double y)
{
if(y>itsSaldo)
{
cout<<"Du kan inte ta ut mer \x84n du har!";
}
else
itsSaldo = itsSaldo - y;
}
konto::visakonto()
{
cout<<"\nNamn: "<<itsName<<endl
<<"Saldo: "<<itsSaldo<<endl
<<"Kontonr: "<<itsNummer;
}
Jag får ett felmeddelande som ser ut så här:
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/konto.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
konto.exe - 2 error(s), 0 warning(s)
Var ligger felet? Är det någon som kan hjälpa mig med detta?
MVH Ann-HelenSv: C++ kod fel
Där får du fram massvis med grejer.
Förresten... eftersom det ser ut som ett skolarbete så är väl inte prestandan avgörande. Använd därför string istället för char*. Mycket lättare att koda.
För övrigt bör du skriva in de korta funktionerna i klassdefinitionen ju lättare och renare koden blir desto mindre risk är det att det blir fel. (använd itsSaldo += ... istället för itsSaldo = itsSaldo +..., t.ex.)
/Niklas Jansson