Mi a hiba ebben a Visual C++ programban?
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;
}
1. using direktívát ne használj header fájlokban
2. include guardot viszont igen
Azt pontosan hogyan kell?
Ezt nem fogadta el: #include <guard>
:D
látom megy a google
#ifndef ARU_HEADER
#define ARU_HEADER
// kód
// ..
// ..
#endif
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
Minden header első sora ez legyen:
#pragma once
#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
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
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!