Hallo! Ich programmiere in Atmel Studio 7 einen Controllino (Arduino). Dazu habe ich mehrere Klassen in C++ erstellt, die in main referenziert werden. Wenn ich nun eine Methode/Funktion der referenzierten Klasse aufrufen will, dann werden mir aber auch die privaten Klassenmember angezeigt. Ist das normaes Verhalten von Atmel Studio? Ich muss dazu sagen, dass ich das erste mal jetzt mit Atmel Studio und C++ arbeite. Ein Codeauszug:
1 | /* |
2 | * HeatingController.h |
3 | * |
4 | * Created: 03.02.2017 20:07:04 |
5 | */ |
6 | |
7 | |
8 | #ifndef __HEATINGCONTROLLER_H__ |
9 | #define __HEATINGCONTROLLER_H__ |
10 | |
11 | #include <Controllino.h> |
12 | #include <Arduino.h> |
13 | |
14 | class HeatingController |
15 | { |
16 | //variables |
17 | public: |
18 | protected: |
19 | private: |
20 | float ambientTemperature; |
21 | |
22 | //functions |
23 | public: |
24 | HeatingController(); |
25 | ~HeatingController(); |
26 | void ReadAllTemperatures(); |
27 | float GetAmbientTemperature(); |
28 | protected: |
29 | private: |
30 | HeatingController( const HeatingController &c ); |
31 | HeatingController& operator=( const HeatingController &c ); |
32 | }; //HeatingController |
33 | |
34 | #endif //__HEATINGCONTROLLER_H__ |
1 | /* |
2 | * HomeController.cpp |
3 | * |
4 | * Created: 31.01.2017 19:07:41 |
5 | */ |
6 | |
7 | #include "HeatingController.h" |
8 | |
9 | int main(void) |
10 | { |
11 | // important for initialisation of some functions, e.g. delay |
12 | // undocumented in Arduino help files |
13 | init(); |
14 | |
15 | HeatingController* controller = new HeatingController(); |
16 | |
17 | while (1) |
18 | { |
19 | controller->ReadAllTemperatures(); |
20 | } |
21 | |
22 | return 0; |
23 | } |