Kezdőoldal » Számítástechnika » Programozás » Mi a hiba a forráskódban? C++

Mi a hiba a forráskódban? C++

Figyelt kérdés

//main.cpp

# include <iostream>

# include <stdlib.h>


typedef unsigned short ushort;

typedef unsigned int uint;


using std::cout;

using std::cin;

using std::endl;



class SIMPLECAT

{

public:

SIMPLECAT();

SIMPLECAT(const SIMPLECAT&);

~SIMPLECAT();

int GetAge()const {return *itsAge;}

int GetWeight()const {return *itsWeight;}

void SetAge(int age) {*itsAge = age;}

private:

int *itsAge;

int *itsWeight;

};


SIMPLECAT::SIMPLECAT():

itsAge = new int(4),

itsWeight = new int(3)

{cout <<"Konstruktor \n";}



SIMPLECAT::SIMPLECAT(const SIMPLECAT &rhs)

{

cout <<"Copy Konstruktor \n";

itsAge = new int;

itsWeight = new int;

*itsAge = rhs.GetAge();

*itsWeight = rhs.GetWeight();

}


SIMPLECAT::~SIMPLECAT()

{

cout <<"Destruktor \n";

delete itsAge;

itsAge = NULL;

delete itsWeight;

itsWeight = NULL;

}



int main()

{

SIMPLECAT Bolyhos;

cout <<"Bolyhos s age: "<< Bolyhos.GetAge() << endl

<<"Setting Bolyhos to 6 ... \n";

Bolyhos.SetAge(6);

cout <<"Creating Boots from Bolyhos \n";

SIMPLECAT Boots(Bolyhos);

cout <<"Bolyhos s age: "<< Bolyhos.GetAge() << endl

<<"Boots s age: "<< Boots.GetAge() << endl

<<"Setting Bolyhos to 7 ... \n";

Bolyhos.SetAge(7);

cout <<"Bolyhos s age: "<< Bolyhos.GetAge() << endl

<<"Boots s age: "<< Boots.GetAge() << endl;


return EXIT_SUCCESS;

}


//Hibaüzi:

C:\Users\ALWAYS_WINS\Desktop\Code Blocks mentesek\Practice_5\main.cpp||In constructor 'SIMPLECAT::SIMPLECAT()':|

C:\Users\ALWAYS_WINS\Desktop\Code Blocks mentesek\Practice_5\main.cpp|28|error: expected '(' before '=' token|

C:\Users\ALWAYS_WINS\Desktop\Code Blocks mentesek\Practice_5\main.cpp|28|error: expected '{' before '=' token|

C:\Users\ALWAYS_WINS\Desktop\Code Blocks mentesek\Practice_5\main.cpp|28|error: expected unqualified-id before '=' token|

||=== Build finished: 3 errors, 0 warnings ===|


2012. márc. 8. 15:03
 1/3 A kérdező kommentje:

Rájöttem ha így csinálom akkor működik:

SIMPLECAT::SIMPLECAT():

itsAge(new int(4)),

itsWeight(new int(3))

{cout <<"Konstruktor \n";}


//Valójában ezt így kell ugye?Így is a dinamikus memóriában lesz a 4 es és a 3 érték ugye?

2012. márc. 8. 15:09
 2/3 A kérdező kommentje:
Miért nem írtok?
2012. márc. 8. 17:18
 3/3 anonim ***** válasza:
igazából azt nem értem hogy az itsAge és itsWeight egészeket mért pointerként deklarálod?
2012. márc. 9. 13:33
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!