【发布时间】:2021-11-03 19:42:44
【问题描述】:
我的问题是指通过“公共”访问的类内部的方法。
在参考 mql4 文档时,似乎没有列出关于如何正确将方法实例化为类的源代码,或者首先是什么使方法成为方法。
在我看来,如果你将一个函数放在一个类中,这本身就使它成为一个方法?还是我错了。有人可以帮我解决这个问题吗?
【问题讨论】:
-
请提供足够的代码,以便其他人更好地理解或重现问题。
我的问题是指通过“公共”访问的类内部的方法。
在参考 mql4 文档时,似乎没有列出关于如何正确将方法实例化为类的源代码,或者首先是什么使方法成为方法。
在我看来,如果你将一个函数放在一个类中,这本身就使它成为一个方法?还是我错了。有人可以帮我解决这个问题吗?
【问题讨论】:
构造函数和方法的基本信息和区别:
构造函数:
(docs)
方法:
简单示例:
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;
}
类成员(对象)初始化:
MyClass *myObject = new MyClass("SO example");
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);
}
在我看来,如果你将一个函数放在一个类中,那么在 本身使它成为一个方法?
是的,但请记住,函数是一段代码,仅在调用时运行,与类无关。
方法与类相关,没有类就不能存在。
【讨论】: