(Mql4) What differentiates a "Method" from a "Constructor"?

(Mql4) What differentiates a "Method" from a "Constructor"?

Manage alerts

Loading saved threads...

30-Dimensions- · External communityPost link
External question — Stack Overflow Stack Exchange Author: 30-Dimensions- Original post: https://stackoverflow.com/questions/69830874 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. My question refers to Methods inside of Classes via "public" access. As referring to mql4 documentation, there seems to be no listed source on how to properly instantiate a Method into a Class, or what even makes a Method a Method in the first place. To me it seems that if you place a function inside of a Class, that in itself makes it a Method? Or am I wrong. Is anyone able to clear this up for me?
Quote
Report
tomgny · External communityPost link
External answer — Stack Overflow Stack Exchange Author: tomgny Original post: https://stackoverflow.com/a/69865291 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. Basic information and differences between constructor and method : Constructor: A constructor is a special function, which is called automatically when creating an object of a structure or class and is usually used to initialize class members, The name of a constructor must match the class name, The constructor has no return type (you can specify the void type). ( docs ) Method: A method is a function that belongs to a class or an object, i.e. it cannot exist without the class. You need to declare class methods in the class. Else it wouldn't be a class method. Method can return value with type specified in the method declaration. Simple example: class MyClass { // Declaration private: string myName; // Property public: void printName(); // Method of void return type int sumIntegers(int a, int b); // Method of int return type MyClass(string name); // Constructor declaration }; MyClass::MyClass(string name) { // Constructor body this.myName = name; } int MyClass::sumIntegers(int a, int b) { //Method body return a + b; } void MyClass::printName() { Print("Your name is: ", this.myName); } int sumIntegers(int a, int b){ //Function body return a + b; } Class member (object) initialization: MyClass *myObject = new MyClass("SO example"); Example usage inside OnInit : int OnInit() { myObject.printName(); // Method call by object (MyClass) Alert("2 + 2 = ", myObject.sumIntegers(2, 2)); // Same as above Alert("2 + 2 = ", sumIntegers(2, 2)); // Function call return(INIT_SUCCEEDED); } To me it seems that if you place a function inside of a Class, that in itself makes it a Method? Yes, but remember that a function is a block of code which only runs when it is called, and it's not related with a class. Methods are related with class, and can not exists without a class.
Quote
Report

Post Reply

Quoted from Forex.com.bd-Editorial External answer — Stack Overflow Stack Exchange Author: tomgny Source score (net votes, not local likes): 0 Original post: https://stackoverflow.com/a/69865291 License: CC BY-SA 4.0 — https://creativecommons.org/licenses/by-sa/4.0/ Adaptation: HTML converted to plain text; contact email addresses removed. Basic information and differences between constructor and method : Constructor: A constructor is a special function, which is called automatically when creating an object of a structure or class and is usually used to initialize class members, The name of a constructor must match the class name, The constructor has no return type (you can specify the void type). ( docs ) Method: A method is a function that belongs to a class or an object, i.e. it cannot exist without the class. You need to declare class methods in the class. Else it wouldn't be a class method. Method can return value with type specified in the method declaration. Simple example: class MyClass { // Declaration private: string myName; // Property public: void printName(); // Method of void return type int sumIntegers(int a, int b); // Method of int return type MyClass(string name); // Constructor declaration }; MyClass::MyClass(string name) { // Constructor body this.myName = name; } int MyClass::sumIntegers(int a, int b) { //Method body return a + b; } void MyClass::printName() { Print("Your name is: ", this.myName); } int sumIntegers(int a, int b){ //Function body return a + b; } Class member (object) initialization: MyClass *myObject = new MyClass("SO example"); Example usage inside OnInit : int OnInit() { myObject.printName(); // Method call by object (MyClass) Alert("2 + 2 = ", myObject.sumIntegers(2, 2)); // Same as above Alert("2 + 2 = ", sumIntegers(2, 2)); // Function call return(INIT_SUCCEEDED); } To me it seems that if you place a function inside of a Class, that in itself makes it a Method? Yes, but remember that a function is a block of code which only runs when it is called, and it's not related with a class. Methods are related with class, and can not exists without a class.

Cancel quote

Checking account access…