Avatar billede ahara Nybegynder
22. september 2004 - 19:24 Der er 4 kommentarer og
1 løsning

Problemer med klasser/objekter

Hvorfor er der jeg får en -812398239 værdi ud når jeg kalder funktionen getVaerdi() for f.eks. objektet felt1?

class Felt
{
    private:
        int nr;
        int vaerdi;
    public:
        Felt(int nr_x, int vaerdi_x)
        {
            nr_x=nr;
            vaerdi_x=vaerdi;
        }

        void getVaerdi()
        {
            cout<<vaerdi;
        }

        void setVaerdi(int value)
        {
            vaerdi=value;
        }
};

int main()
{
    Felt felt1(1,3);
    Felt felt2(2,2);
    Felt felt3(3,3);
    Felt felt4(4,2);
    Felt felt5(5,4);
    Felt felt6(6,2);
    Felt felt7(7,3);
    Felt felt8(8,2);
    Felt felt9(9,3);

    felt1.getVaerdi();

    return 0;
}

Håber i kan hjælpe og rette min kode

Mvh
AHR
Avatar billede arne_v Ekspert
22. september 2004 - 19:25 #1
Skal

vaerdi_x=vaerdi;

ikke være

vaerdi=vaerdi_x;

??
Avatar billede erikjacobsen Ekspert
22. september 2004 - 19:26 #2
Felt(int nr_x, int vaerdi_x)
        {
            nr=nr_x;
            vaerdi=vaerdi_x;
        }
Avatar billede ahara Nybegynder
22. september 2004 - 19:28 #3
Selvfølgelig. Har lige byttet rundt. Er yderst imponeret over dine hurtige svar.

Send et svar og der er point :o)

Tak
AHR
Avatar billede arne_v Ekspert
22. september 2004 - 19:30 #4
svar
Avatar billede segmose Nybegynder
24. september 2004 - 10:46 #5
To måder at ungå denne fejl.
Felt(const int nr_x, const int vaerdi_x) {
  nr=nr_x;
  vaerdi=vaerdi_x;
}

Felt(const int nr_x, const int vaerdi_x) : nr(nr_x), vaerdi(vaerdi_x) { }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester