class solution :class英文中表示”类型“,而solution表示”解决“。合起来就是解决这一类问题的函数。(类似于定义函数)
同样是定义函数:那么他和void有哪些区别呢?
class solution相当于函数+运行环境,对于主函数是没有任何干扰的,不会污染其他地方的代码。
而void定义一种函数定义的变量是全局状态下的(如下代码所示,val就是全局变量),可能会干扰主函数(比如变量的命名)。
比如我们有一个问题,需要用函数funcA()
解决,而funcA()
又需要调用函数funcX()
, 而完成这个问题可能还需要一个int
型的变量val
。
int val;
void funcX() { /* ... */ }
void funcA() { /* ... */ }
主函数想调用class solution中的函数
只需要将class solution中函数的接口设置为“public”就行
class Solution {
private:
int val;
void funcX() { /* ... */ }
public:
void funcA() { /* ... */ }
};
int main() {
Solution s;
s.funcA();
}