Как объявить свойство класса в MQL4
public: TTestClass1(void); ~TTestClass1(void); void TTestClass1::SetValume(int aID, string aTime, double aValue1, double aValue2);И далее.
void TTestClass1::SetValume(int aID, string aName, double aValue1, double aValue2) { fID = aID; fName = aName; fValue1 = aValue1; fValue2 = aValue2; }
Смотрим Структуры и, классы и интерфейсы
Все верно, так и делается: свойства приватные, доступ к ним через методы типа Get и Set.
а насколько корректно объявление свойств класса во втором примере?
а насколько корректно объявление свойств класса во втором примере?
Не вижу никакого криминала. На мой вкус не хватает только указания того, что это члены класса. То есть для себя бы сделал вот так:
int m_nID; string m_sName; double m_fValue1; double m_fValue2;
"m_" - префикс (member), который помогает потом в коде определить, что имеем дело с членом класса.
"n" - указание на целочисленный тип переменной (numeric)
"s" - указание на строковый тип переменной (string)
"f" - указание на вещественный тип переменной (float)
Вопрос в следующем: можно ли в классе MQL4 объявить свойство не в виде метода, а именно в виде свойства, которое бы ссылалось на защищенное свойство этого класса. Как например в Delphi
Для примера создал два описания класса в MQL4. Второй вариант задает свойства, но без защищенных свойств. Насколько правильно такое применение. И можно ли его описать правильно с точки зрения ООП