我会尽量做到简洁,虽然我知道这些问题可以被认为是“基本的”,但我已经看过 cplusplus.com 和 yolinux 教程等网站,但我需要有人像我一样向我解释这一点刚刚头部受了重伤。。
1)
class Rectangle {
private:
int lineNumber; // LineNumber of the ACSIL Tool
float valueMax; // value of the higher limit of the rectangle
float valueMin; // value of the lower limit of the rectangle
public:
Rectangle(SCStudyInterfaceRef sc, int lineNumber, float valueMax, float valueMin);
int getLineNumber();
float getValueMax();
float getValueMin();
};
因此 int linenumber、valueMax 和 ValueMin 被声明为私有成员,因此只能由同一类的成员访问,这很好。但是“public:”之后的部分呢?
a) 是矩形(SCStudyInterfaceRef sc, int lineNumber, float valueMax, float valueMin); 一个被重载的函数?如果是,则 int getLineNumber() 等是该函数的一部分还是该类的公共部分的单独成员?
2)
Rectangle::Rectangle(SCStudyInterfaceRef sc, int lineNumber0, float value1, float value2) {
lineNumber = lineNumber0;
int value2_greater_than_value1 = sc.FormattedEvaluate(value2, sc.BaseGraphValueFormat, GREATER_OPERATOR, value1, sc.BaseGraphValueFormat);
if (value2_greater_than_value1 == 1) {
valueMax = value2;
valueMin = value1;
} else {
valueMax = value1;
valueMin = value2;
}
}
int Rectangle::getLineNumber() {
return lineNumber;
}
float Rectangle::getValueMax() {
return valueMax;
}
float Rectangle::getValueMin() {
return valueMin;
}
a)我很确定在矩形类的公共部分中定义的函数在这里被“定义”,或者类似的东西。
b) 我对 Rectangle::Rectangle(SCStudyInterfaceRef sc, int linenumber0, float value1, float value2) 部分发生的事情感到非常困惑。我了解函数本身内发生的事情的逻辑,但我对在“ ( ) ”中输入的参数以及这与类公共部分内发生的事情究竟有什么关系感到困惑。这确实是需要回答的最重要的问题。
我尽量做到简洁明了,希望能在理解这种语法方面有所帮助。