Naja, ob nun Microsoft specific oder Borland specific - beides nicht so prickelnd. ISO-C++ hat nunmal keine Eigenschaften. Also entweder man schreibt plattformunabhängigen Code, indem man die Eigenschaften durch Getter/Setter-Methoden ersetzt (gegebenenfalls kann man da ein paar schmutzige Makros für schreiben (C; ), oder man muss sich halt an den Borland- oder Microsoft-Compiler anschmiegen.
Übrigens gibt es noch eine verbreitete Syntax für C++-"Eigenschaften", wie ich kürzlich in einer Diskussion auf Gamedev.net erfuhr.
Wenn die Eigenschaft z.B. Value heißt und int ist:
Code:
class MyClass
{
int value;
public:
int Value() { return value; }
void Value(int newValue) { value = newValue; }
}
und dann benutzen wie folgt:
Code:
MyClass mc;
mc.value(1);
cout << mc.value();
Das kommt zumindest ungefähr der Benutzung von Eigenschaften gleich, auch wenn man nicht so schöne Syntax hat. Ist aber fast noch ein wenig schöner als get/set.
Ich weiß nicht mehr, ob das
dieser Thread war, aber da stellt auch einer seine Template-Bibliothek für Eigenschaften vor. Auch eine Möglichkeit.