Kezdőoldal » Számítástechnika » Programozás » Mi a baj ezzel a c++ kóddal?

Duzzogó medúza kérdése:

Mi a baj ezzel a c++ kóddal?

Figyelt kérdés

Hibaüzenet:

Undefined reference to Vonal::Vonal(double)


Két napja kezdtem c++-ban programozni, szóval meglehetősen kezdő vagyok. Egy tutorial videóban láttam ezt a példát, konkrétan ezt, 8-szor néztem végig a tutorialt, mindent pontosan lemásoltam, fejből tudom a példát, a srác le tudta fordíttatni a compiler-rel, én nem tudom. Codeblocks-ot használok. Mit néztem el? Mit rontottam el? Mi más?

Köszi előre is a segítséget. Olyan jó lenne ezt megoldani, mert elég jó memóriám van, és eddig marhára gyorsan haladtam, de most elakadtam. Jó lenne normálisan megtanulni az objektumorientáltságot.


Main:

#include <iostream>

#include "Vonal.h"

using namespace std;


int main() {

Vonal v(10);

cout << v.getHossz() << endl;

return 0;

}

header:

#ifndef VONAL_H

#define VONAL_H


class Vonal {

public:

Vonal();

Vonal(double hossz);

double getHossz() const;

private:

double hossz;

};

#endif

class kifejtés:

#include "Vonal.h"

Vonal::Vonal() {

};

Vonal::Vonal(double hossz) {

this->hossz = hossz;

}

double Vonal::getHossz() const {

return hossz;

}



#C++ #c++ objektum #c++ objektum orientált
2017. ápr. 11. 20:26
 1/8 anonim ***** válasza:
Gondolom nem fordítottad hozzá a vonal.cpp fájlt.
2017. ápr. 11. 21:00
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:

"Gondolom nem fordítottad hozzá a vonal.cpp fájlt."


Leköteleznél, hogyha ezt kifejtenéd bővebben. Hogy tudom "hozzá fordítani" a vonal.cpp fájlt?


Köszönöm előre is!


Mint már említettem rendkívül kezdő vagyok még.

2017. ápr. 11. 21:15
 3/8 tabaki ***** válasza:

Hát, én nem sokat értek az egészből, meg a C++ nyelvet sem ismerem, de ezzel a kóddal te sem könnyítetted meg az életemet. Amennyire felfogtam, ez két fájl tartalma, ravaszul kommentjelek nélküli megjegyzésekkel elkülönítve. Arra, ha agyonütnek, se tudok rájönni, hogy a „class kifejtés:”-sel jelzett rész tulajdonképpen hová való, és minek kell bele az #include "Vonal.h" sor. Az utóbbit elhagyva végül a programba raktam, de ugyanúgy elfér a headerben is -- aki ért hozzá, biztosan tudja, mit kéne vele csinálni voltaképpen. Nálam így ütött ki a végeredmény (hangsúlyozom, hogy csak félig tudom, mit csinálok, de lefordul, és a jelek szerint működik is):


// a Vonal.h fájl:


#ifndef VONAL_H

#define VONAL_H

class Vonal {

      public:

      Vonal();

      Vonal(double hossz);

      double getHossz() const;

      private:

      double hossz;

      };

#endif


// a program, mondjuk valami.cpp:


#include <iostream>

#include "Vonal.h"

using namespace std;


int main() {

      Vonal v(10);

      cout << v.getHossz() << endl;

      return 0;

}


Vonal::Vonal() {};


Vonal::Vonal(double hossz) {this->hossz = hossz;}


double Vonal::getHossz() const {return hossz;}

2017. ápr. 12. 02:36
Hasznos számodra ez a válasz?
 4/8 A kérdező kommentje:

Köszi!

A vonal.cpp a class kifejtése, pontosabban a class függvényeinek kifejtése. A vonal.h a class és a benne található függvények prototípusa. Létezik egy main.cpp is, ami pedig a fő fájl a fő main függvénnyel. Ahogy te csináltad, úgy rájöttem a megoldásra.

Elvileg három részre kell bontani, de te a main fájlba bemásoltad a függvény kifejtéseket. Én meg egyszerűen csak include-oltam a class függvényeinek kifejtését, a kettő ugyanúgy működik. Tehát hozzáadtam felülre a main.cpp-be ezt a sort:

#include "Vonal.cpp"


De a példában én nem láttam ilyet hozzáadva, viszont logikus, hogy kell. Köszi, hogy foglalkoztál vele!

2017. ápr. 12. 07:25
 5/8 anonim ***** válasza:
cpp-t sosem includeolunk, csak h-t (kivéve ha esetleg templatet írsz)
2017. ápr. 12. 08:20
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:

"cpp-t sosem includeolunk, csak h-t (kivéve ha esetleg templatet írsz)"

Az csodálatos, de csak így működött, másképpen nem.

2017. ápr. 12. 12:37
 7/8 anonim ***** válasza:

Vonal::Vonal(double hossz) {this->hossz = hossz;}


php programozó készítette a c++ tutoriált?

inicializáló lista?

2017. ápr. 15. 12:19
Hasznos számodra ez a válasz?
 8/8 A kérdező kommentje:
Úgy tudom, hogy php-t is programozik a srác. Viszont nagyjából ez az egyetlen magyar nyelvű, és összeszedett tutorial sorozat, más nem vette a fáradtságot.
2017. ápr. 15. 13:15

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!