Hódító / Queosia forum

Hódító / Queosia forum (http://forum.hodito.hu/index.php)
-   PC (hardver, szoftver, játékok stb.) (http://forum.hodito.hu/forumdisplay.php?f=28)
-   -   C++ segítségre lenne szükségem. (http://forum.hodito.hu/showthread.php?t=3040)

tulip 06-11-2008 11:31

C++ segítségre lenne szükségem.
 
Sziasztok!

Ezt a topic-ot azért nyitottam, mert egy kis segítségre lenne szükségem. Meg szerétnék kicsit barátkozni a C++ nyelvvel. Ennek érdekében vásároltam 2 könyvet, töltöttem le néhány jegyzetet, de az első lépést csak nem sikerült megtennem az objektumok használata felé.

Itt van rögtön a legelső péda. Ezt a könyvet a C++ 2.0-s UNIX-os változatához írták. Egy ingyens windows-os, a Borland által kiadott 5.5-ös, fapados fordítót sikerült szereznem hozzá, aminek ugyebár kompatibilisnek kellene lennie, de csak nem fordul le. Sajnos a könyv nem tartalmazza összefüggően a teljes forrást, ami tovább nehezíti a dolgot, további hibákra adva lehetőséget, de igyekeztem szépen egymás után írni a részeket és ez lett az eredménye:

IntArray.h fájl tartalma:

const int ArraySize = 24;
class IntArray {
public:
IntArray(int sz = ArraySize);
IntArray(const IntArray&);
~IntArray() { delete ia; }
IntArray& operator = (const IntArray&);
int& operator[] (int);
int getSize() { return size; }
protected:
int size;
int *ia;
};



IntArray.cpp fájl tartalma:

IntArray::IntArray(int sz) {
ia = new int[size];
for (int i = 0; i < sz; i++)
ia[i] = 0;
}

IntArray::IntArray (const IntArray &iA) {
size = iA.size;
ia = new int[size];
for (int i = 0; i< size; i++)
ia[i] = iA.ia[i];
}
IntArray& IntArray::operator = (const IntArray &iA) {
delete ia;
size = iA.size;
ia = new int[size];
for (int i = 0; i < size; i++)
ia[i] = iA.ia[i];
return *this;
}
int& IntArray::operator[] (int index) {
return ia[index];
}



proba.cpp fájl tartalma:

#include "IntArray.h"
#include "IntArray.cpp"

main () {
IntArray ia;
}


Egyébként állítólag lehet egy előzetes fordítást is végezni az include állományon, ami nem sikerült, így ezt a részt kihagytam. Na most próbáltam a következő paracsot:

bcc32.exe -If:\borland\bcc55\include\ -Lf:\borland\bcc55\lib\ proba.cpp


Erre a következő hibaüzenetet kaptam:


Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
proba.cpp:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external 'IntArray::IntArray(int)' referenced from F:\BORLAND\BCC55\BIN\PROBA.OBJ



Tudna valaki segíteni abban, hogy mit rontottam el? Elvileg csak másolásról van szó...


Közben már megkaptam a megoldást. Volt egy elírás (azt javítottam itt is) és az IntArray.cpp-t is includdal be kellett szurni, ez volt a hiba.

Letörölném az egész topicot, de nem tudom. Na sebaj, hátha érdekel valakit vagy kedvet kap hozzá...

Kutyuleee 06-12-2008 00:00

ugyan nem vagyok nagy c++ mágus, de ezt én is hiányoltam;)
amúgy alapvetően a legtöbb c++ iró platformon letudod futtatni soronként a programot, és legtöbbször kiderül,hogy hol van szintaktikai hiba, esetleg,hogy hol hiányzik neki vmi:) nekünk anno ez volt az első amit tanitottak, hogy mindig ha végzünk egy résszel, soronként futtasuk, és rögtön kibukik a szög a zsákból:D

tdomo 06-12-2008 08:44

Valaki tudna linux alá ilyen fejlesztő platformot ajánlani?

Bogár 06-12-2008 09:49

Quote:

Originally Posted by tdomo (Post 179877)
Valaki tudna linux alá ilyen fejlesztő platformot ajánlani?

joe, vi vagy gedit...
talán a gedit a legbarátságosabb. :D

Xeper 06-12-2008 11:08

Ez a program így biztosan működik?

Amúgy tudom ajánlani a dev C++ nevű kis progit, az is fapados, de van benne minden ami kellhet a hibák felderítéséhez, és ingyenes.

tulip 06-12-2008 11:37

Quote:

Originally Posted by Xeper (Post 179885)
Ez a program így biztosan működik?

Igen Xepi, így működik, csak a proba.cpp -be be kell írni az #include "IntArray.cpp" sort is, amit a könyv írója kifelejtett, mert gondolom annyira triviálisnak tartotta, hogy annak ott kell lennie. Hát nekem első példaprogramnak nem volt triviális. :)

Egyébként ez a példa azt mutatja be, hogyan lehet a C++-ban olyan adattípust létrehozni, amelyet aztán ugyanúgy lehet használni, mintha az a nyelv részét képezné. Tehát lehet használni benne pl. a következő szintaktikát:

IntArray a1, a2;
a1 = a2;


Nyilván ez nem egy kiforrot példa, a későbbiekben javított rajta a könyv írója. De nagyon szépen szemlélteti a pascal-hoz szokott szememnek, hogy a C++ mennyivel másabb.

tdomo 06-12-2008 11:51

Quote:

Originally Posted by csunyabogar (Post 179881)
joe, vi vagy gedit...
talán a gedit a legbarátságosabb. :D

Köszönöm, de nem editorra gondoltam, hanem program fejlesztő környzetre.:)

Bogár 06-12-2008 12:24

Quote:

Originally Posted by tdomo (Post 179900)
Köszönöm, de nem editorra gondoltam, hanem program fejlesztő környzetre.:)

arra én is kíváncsi lennék... 1 évig szórakoztam a gedittel (sőt, a vi-t is hónapokig használtam)... a feladatokat szerencsére meg lehetett írni sima C-ben is, vagy egyszerűbb C++ szintaxissal, majd gcc-vel vagy g++-szal lefordítottam azokat.

ha nem csal az emlékezetem, olyasmit mondtak a tanárok akkor, hogy nem létezik (?használható?) fejlesztői környezet. de nem teszem rá a nyakam. :)

tulip 07-07-2009 21:22

Quote:

Originally Posted by tdomo (Post 179877)
Valaki tudna linux alá ilyen fejlesztő platformot ajánlani?

Quote:

Originally Posted by tdomo (Post 179877)
Valaki tudna linux alá ilyen fejlesztő platformot ajánlani?

Igaz, már elég régi a kérdés, de már tudok rá válaszolni. :)
A NetBeans-t Java-hoz találták ki fejlesztő környezetnek és teljesen szabadon használható és úgy tudom, van Linux alá is és a 6.5-ös változattól kezdve C++-ra is használható.

Azt találtam a Google-ban, hogy Windows alá vannak jobbak is, nem érdemes a NetBeans-t használni. De mivel Java-hoz és C++-hoz is kéne és Java-hoz ez már fent van, jó lenne beállítani C++-hoz is. Még mindig a Borland 5.5-ös fordítóját használom, ezt viszont nem sikerült a NetBeans-el összekombinálni. Tudna valaki segíteni abban, hogy Windows alá milyen ingyenes, C++ fordítót érdemes letölteni és hogyan kell beállítani, hogy a NetBeans-el együtt működjön?

Aért kérdezek ilyen hülyeségeket, mert nem vagyok programozó, nem is tanultam programozni, viszont a munkámhoz szükséges a programozás, mert a munkahely a programfejlesztőknek milliókat fizet egy-egy használhatatlan apró fejlesztésért, a keret el is fogyott, így meg nem lehet dolgozni.

BimmBimm 07-07-2009 21:53

Quote:

Originally Posted by tulip (Post 218607)
Igaz, már elég régi a kérdés, de már tudok rá válaszolni. :)
A NetBeans-t Java-hoz találták ki fejlesztő környezetnek és teljesen szabadon használható és úgy tudom, van Linux alá is és a 6.5-ös változattól kezdve C++-ra is használható.

Azt találtam a Google-ban, hogy Windows alá vannak jobbak is, nem érdemes a NetBeans-t használni. De mivel Java-hoz és C++-hoz is kéne és Java-hoz ez már fent van, jó lenne beállítani C++-hoz is. Még mindig a Borland 5.5-ös fordítóját használom, ezt viszont nem sikerült a NetBeans-el összekombinálni. Tudna valaki segíteni abban, hogy Windows alá milyen ingyenes, C++ fordítót érdemes letölteni és hogyan kell beállítani, hogy a NetBeans-el együtt működjön?

Aért kérdezek ilyen hülyeségeket, mert nem vagyok programozó, nem is tanultam programozni, viszont a munkámhoz szükséges a programozás, mert a munkahely a programfejlesztőknek milliókat fizet egy-egy használhatatlan apró fejlesztésért, a keret el is fogyott, így meg nem lehet dolgozni.

Hümm:)
Én csak linux alatt szoktam programozni (hazudok mert C#-ot win alatt:D)
Környezetek:
Java: Eclipse
C: Anjuta
C++: gedit
ezt így szoktam meg, de szinte biztos vagyok benne hogy az eclipse és az anjuta is viszi a c++ -:)


All times are GMT +1. The time now is 13:35.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Design partly based on Hódító's design by Grafinet Team Kft.

Contents and games copyright (c) 1999-2020 - Queosia, Hódító

Partnerek: Játékok, civ.hu