我有两个功能做同样的事情:他们添加两个数字.一个添加两个作为类成员的数字,另一个添加用户在类外部给出的数字.
有没有办法编写一个函数来添加两个数字并检查参数是用户输入还是类成员?
void myclass::add(){
cout<<this->a+this->b;
}
void myclass::add(int a,int b){
cout<<a+b;
}
Run Code Online (Sandbox Code Playgroud)
虽然你不能在一个函数中真正做到这一点,但常见的方法是编写两者中更灵活的方法,并将另一个用作调度程序:
void myclass::add(int a, int b) {
std::cout << (a+b);
}
void myclass::add() {
add(a,b);
}
Run Code Online (Sandbox Code Playgroud)
现在,这段代码中有不同数量的气味...一个函数名重用于成员或只有一个输入(一个不触及对象状态的函数已经闻到它不是成员,或者是一个静态的).在一个被调用的函数内打印add(如果它不返回值?)...