MQL5 Language basics CLASS TYPES
MQL5 Language basics CLASS TYPES
// DEFINATION OF A CLASS
// A class is more like an expanded concept of the data structure, but instead
// A class can contain variables, & funtions ==> members of the class
// DEFINATION OF OBJECT
/* struct struct_name{
double structure_defination;
};
struct_name STRUCTURE_OBJECT;
*/
/*
class class_name{
member1;
access_keyword_2:
member2;
------
};
*/
/*
class CAR{
int doors;
int sits;
int tyres;
double weight;
bool start();
void changegear();
void stop();
bool horn();
};
// CREATE AN OBJECT
CAR Toyota;
CAR V8;
*/
// prototype
/*
class class_name{
private:
members1;
members2;
members3;
public:
class_name() // constructor
~class_name() // destructor
members4();
members5();
protected:
members6();
members7();
};
*/
// THE CONSTRUCTOR
// The name of the constructor MUST match the name of the class
// It does not take any parameters and does not have any return type
// THE DESTRUCTOR
// 1.2 INHERITANCE
// BASE CLASS
/*
class class_name{
private:
members1;
members2;
members3;
public:
class_name() // constructor
~class_name() // destructor
members4();
members5();
protected:
members6();
members7();
};
*/
// DERIVED CLASS
// private:
// members8;
// public:
// new_class();
// ~new_class();
// members9;
//};
/*
class CAR{
protected: // data members
int doors;
int sits;
double weight;
bool start();
void stop();
bool horn();
private:
int tyres;
};
private:
int maxspeed;
public:
void runAtHighSpeed();
};
private:
bool hasLiftBack;
public:
};
*/
// WHY THE VIRTUAL FUNCTION
// Its simply because we want any class that inherits the function from the base
class CAR{
int doors;
int sits;
double weight;
bool start();
void stop();
bool horn();
private:
int tyres;
};
// :: scope operator
bool CAR::start(){
return false;
void CAR::CAR(){
};
//+------------------------------------------------------------------+
//| OOP_Class.mq5 |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
int OnInit()
//---
//---
return(INIT_SUCCEEDED);
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//---
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
//---
//+------------------------------------------------------------------+