- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
class CVal
{
private:
int m_val;
public:
__declspec(property(get=get_Val, put=put_Val)) int Val;
int get_Val()
{
return m_val;
}
void put_Val(int val)
{
m_val = val;
}
};
Всё, не прибежит.
Хотя бы в том, что get_Val()/put_Val() public.
__declspec приблуда майкрософта
дельфовое проперти в этом плане удобнее и читабельнее.
Выходит, что свойства - не более чем бесполезный сахар, никак не сокращающий кол-во кода, ведь какая нахрен разница, писать Color := red или SetColor(res). А чтобы передать 3 параметра по ссылке, я должен руками создать три временные переменные, почувствуй себя ассемблером, блин.
Сокращения есть + некоторая единообразность, т.к. работаешь почти как с переменной.
> Cокращения есть + некоторая единообразность, т.к. работаешь почти как с переменной.
Эти сокращения, как бы сказать, на уровне константы, а не порядка. То есть мало что дают.
А "работа как с переменной" тут даже минус, поскольку можно нечаянно вызвать нечто, и не заметить этого. Я в обработчиках событий что-то писал такое, что в бесконечную рекурсию уходил и не понимал, почему.
вырезка из пособия по вызову злых духов
переверни и прочитай.