hmm, vielen lieben Dank, das klingt alles wirklich gut. Ich muss jetzt nur noch alles ineinander kriegen, tatsächlich ist dieses hier erst mein zweites C++ OOP Projekt überhaupt.
Erstmal, ist private besser als protected? Oder geht beides? Ist protected evtl flexibler für Zugriffe von "außen" und "innen"?
dann zu
Also statt tMenu * mymenu = new tMenu(); lieber tMenu myMenu;
ja: so hatte ich es ja auch vor als Instanz: tMenu myMenu;
Das wäre jetzt, was ich aus deinen Vorschlägen verstanden habe, mit int16_t als Kompromiss zw. char und int für die sizes,
allerdings völlig unklar wie der constructor jetzt aussehen muss , also wie genau ich den array samt seines Speicherbedarfs dynamisch erzeugen soll:
Code:
class tMenu{
private :
int16_t MENULEN, CAPTLEN;
char list[MENULEN][CAPTLEN];
public:
tMenu (int16_t menulen, int16_t captlen) // constructor
{
MENULEN = menulen;
CAPTLEN = captlen;
// .... und wie weiter hier?
}
~tMenu() // destructor
{
// Dynamically delete the array we allocated earlier
delete[] list ;
}
};
Edit:
zusätzlich rechnen möchte ich ja nicht, weder innerhalb der Klasse noch außerhalb bei Verwendung von Instanzen.
Instanziierung würde ich auch am liebsten ohne template machen, wenn möglich, einfach per
tMenu mymenu(10,20);
für solche Manipulationen in main oder loop:
strcpy(mymenu.list[5], "5 new testline", sizeof(testline));
mymenu.list[5][0]='>';
Lesezeichen