[c++] Deklaracja klas


(Xeon Bloomfield) #1

Witam

Zrobiłem prostą aplikacje, która rozrosła mi się do ogromnego pliku "main.cpp", który jest zbyt duży aby szybko i efektywnie go edytować.

Przeniosłem tą aplikacje na klasy i oddzielne pliki - uporządkowałem kod. Wszystko działa.

Problem polega na tym, że chce jeszcze bardziej rozbudować aplikacje i nie mogę poprawnie zadeklarować klas, tak aby funkcja pierwszej klasy - Example1:

example1.example();

była dostępna z pliku "main.cpp" oraz "example2.cpp" (plik z drugą klasą)...

Proszę o pomoc w tej sprawie.

(nazwy oczywiście przykładowe - Example)

Pozdrawiam, Xeon.


([alex]) #2

ifndef _EXAMPLE_H_

define _EXAMPLE_H_

class Example

{

public:

void example();

};

endif

Normalnie dołączasz powyższy plik nagłówkowy do main.cpp oraz example2.cpp i już.


(Xeon Bloomfield) #3

Tylko mi chodzi o to, gdzie zadeklarować klasę?

W którym pliku wpisać:

Example1 example_class1;

żeby potem można było mieć do tego dostęp poprzez:

example_class1.example();

w pliku "main.cpp" oraz "example2.cpp". Kod klasy "Example1" jest w pliku "example1.cpp". W pliku "main.h" jest (fragment pokazujący, że dodałem pliki nagłówkowe):

#include "example1.h"

#include "example2.h"

Dodałem:

#include "main.h"

do plików: "main.cpp", "example1.cpp", "example2.cpp".


([alex]) #4

w example1.h

extern Example1 example_class1;

w examle1.cpp

Example1 example_class1;


(Xeon Bloomfield) #5

@[alex]: Bardzo dziękuje.

Pomogło.

Temat do zamknięcia.