Kezdőoldal » Számítástechnika » Programozás » Mi a hiba ebben a Visual C++...

Amanda88 kérdése:

Mi a hiba ebben a Visual C++ programban?

Figyelt kérdés

Még nem csinál semmit a programom, elakadtam, mert hibát jelzett ('class' type redefinition). Valószínű, rosszul include-oltam a header file-okat, de nem tudom mi ebben a rossz. Google-n nem találtam erre semmit...


Aru.h:


#include <iostream>

using namespace std;


class Aru

{

public:

int kod;

virtual void Kiir();

};



Gyumolcs.h:


#include <iostream>

using namespace std;

#include "Aru.h"


class Gyumolcs: public Aru

{

public:

bool friss;

int kiloar; // 1 kg ára

int keszletkilo; // ennyi kg van készleten

void Kiir(Gyumolcs gyumolcs);

};



Ital.h:


#include <iostream>

using namespace std;

#include "Aru.h"


class Ital: public Aru

{

public:

int kiszereles; // 0.5 literes, 1 literes, 2 literes

int darab;

int 05_ar, 1_ar, 2ar;

void Kiir();

};



Gyumolcs.cpp:


#include <iostream>

using namespace std;

#include "Gyumolcs.h"


void Gyumolcs::Kiir(Gyumolcs gyumolcs)

{

if (gyumolcs.friss=true)

{ cout<<"A gyumolcs friss"<<endl; }


else if (gyumolcs.friss=false)

{ cout<<"A gyumolcs nem friss"<<endl; }


cout<<"A gyumolcs "<<gyumolcs.kiloar<<" kg"<<endl;


};



Raktar.cpp


#include <iostream>

using namespace std;

#include "Aru.h"

#include "Gyumolcs.h"

#include "Ital.h"


int main()

{

system("pause");

return 0;

}



2013. szept. 25. 21:28
 1/9 anonim ***** válasza:

1. using direktívát ne használj header fájlokban

2. include guardot viszont igen

2013. szept. 25. 21:48
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:

Azt pontosan hogyan kell?

Ezt nem fogadta el: #include <guard>

2013. szept. 25. 21:59
 3/9 anonim ***** válasza:

:D

látom megy a google


#ifndef ARU_HEADER

#define ARU_HEADER


// kód

// ..

// ..


#endif

2013. szept. 25. 23:45
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:

Pár megjegyzés:

-adattagok privátok legyenek

-egész változóban nehezen fogsz 0.5-ös értéket, kiszerelések tárolásához javaslom inkább az enum típust

2013. szept. 26. 07:28
Hasznos számodra ez a válasz?
 5/9 iostream ***** válasza:

Minden header első sora ez legyen:

#pragma once

2013. szept. 26. 10:15
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:
Köszönöm a segítséget! :)
2013. szept. 26. 17:10
 7/9 anonim ***** válasza:

#pragma once

ez többnyire csak visual studioban működik, sokkal univerzálisabb megoldás amit előtte írtak:


#ifndef _ARU_H_

#define _ARU_H_


//blabla...


#endif

2013. szept. 27. 02:52
Hasznos számodra ez a válasz?
 8/9 iostream ***** válasza:
Nem, többnyire minden elterjedt fordítóban működik. Kvázi szabvány, ez a neve az ilyen dolgoknak.
2013. szept. 27. 10:10
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

[link]


ezt valahol itt folytassátok, szerintem a kérdezőnek nem lényeg


azért írtam a define-os guardot, mert egyrészt ez a régebbi és az alapötlet, biztosan fog működni, a kérdező meg esetleg fogja magát és utánanéz a define-nak meg a feltételes fordításnak, és érteni fogja, hogy mi a fene ez

2013. szept. 27. 13:17
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!