Wpis z mikrobloga

#cpp #programowanie #pytanie

NO ELO MIRASKY. Mam pytanie odnośnie C++ - zamierzam stworzyć sobie pewne... Ułatwienie i chciałem tworzyć nowe zmienne/tablice za pomocą klasy Variable. W klasie tej znalazłyby się 3 podstawowe rzeczy, czyli tworzenie, czyszczenie i usuwanie. Nie wiem jak zacząć, za to myślałem o czymś w stylu:

#define CREATEVARIABLEINT(name, type) type name

W efekcie czego mógłbym zrobić taki myk:

CREATEVARIABLEINT(TEST, int);

I to by zadziałało. Ale jak to zrobić trochę lepiej i bardziej zaawansowanym sposobem?
  • 17
@japer: zwykła zmienna jako zmienna. Przykładowo:

Variable.Create(dupa, int); // dupa - nazwa nowej zmiennej

Variable.Create(liczba, int); // czyli jakaś liczba

void main() {

liczba = 90;

while(dupa != liczba) {

printf("%d", dupa);

}

return;

}
@japer: ale musiałbym tworzyć oddzielne makro dla każdego typu, w dodatku nie będę mógł sobie w Visual Studio wybierać, z jakiej części funkcji klasy aktualnie chcę korzystać (czyli Create, Delete, Flush), bo zwyczajnie nie będę mieć tej klasy... No chyba że da się jakoś powiązać makro z klasą, ale wątpię.
@japer: w takim razie spróbuję ogarnąć to na makrach. Ale nie mam zielonego pojęcia jak miałbym zrobić usuwanie zmiennej (bo czyszczenie to pewnie zmienna = 0). Ale ogółem - dzięki za pomoc.
@Linux_Shines: musiałbyś się posłużyć przeładowaniem operatorów i szablonami klas.

Musisz zdefiniować:

- konstruktor, do inicjalizacji zmiennej opakowanej

- operator przypisania dla konkretnego opakowanego obiektu

- operator konwersji na typ opakowanego obiektu

- operator << i >> dla strumieni