Witam,
Ja jestem M.S.Z. i pochodzę z planety Java, jestem nowy w prawdziwym, tzn. obiektowym C++ i mam problem z następującym przykładem
#include "Pin.cpp"
class Logic{
private:
Pin* pin;
public:
Logic(){
pin = new Pin('A', 0);
}
~Logic(){
delete pin;
}
void tick(){
// pin.out();
}
};
A teraz wyjaśnienia..
Czego chcę?
Chciałbym stworzyć obiekt typu "Pin" w ciele klasy "Logic", w taki sposób, aby móc wykorzystać metodę tego obiektu w metodzie klasy "Logic".
Stworzenie lokalnej klasy (Pin pin('A', 0);) nie sprawia mi problemu, kompiluje się i działa, jak powinno. Problem tkwi w wykorzystaniu obiektu w całej klasie.
Jaki mam w tym problem?
Problem polega na tym, że kompilując powyższy przykład, gdzie w obrocie mamy "dynamiczną allokację pamięci", kompilator złości się na mnie i mówi:
"undefined reference to `operator new(unsigned int)".
A czego jeszcze chciałbym się dowiedzieć?
Jak jeszcze inaczej mógłbym zrealizować to, czego chcę, są inne sposoby?
Dodatkowe informacje
Pracuję na Atmel Studio 7.0, piszę program na procesor AVR.
Obiektowo programuję od długiego czasu w języku java, tam uproszczono pracę ze wskaźnikami, wystarczy w ciele klasy zdefiniować obiekt np. Pin pin;,
a w konstruktorze pin = new Pin('A', 0); i problem z głowy..
Z góry bardzo dziękuję za wszelkie próby pomocy!