-2
下午好!这个编码业务仍然是新的,所以请裸露在我身边。我只想知道是否有一种方法可以使用单个函数来重载许多运算符?C++:在单个函数中重载多个运算符?
我正在做一个简单的程序来使用+, - ,*,/操作符处理矩阵,而不是复制和粘贴每个新的代码,是否有一种方法可以使用一种工作类型的重载函数像一个开关?
Matrix Matrix::operator+(int scalar) {
Matrix newest(row, col);
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
newest.matrix[i][j] = matrix[i][j] + scalar;
}
}
return newest;
}
Matrix Matrix::operator-(int scalar) {
Matrix newest(row, col);
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
newest.matrix[i][j] = matrix[i][j] - scalar;
}
}
return newest;
}
Matrix Matrix::operator*(int scalar) {
Matrix newest(row, col);
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
newest.matrix[i][j] = matrix[i][j] * scalar;
}
}
return newest;
}
Matrix Matrix::operator/(int scalar) {
Matrix newest(row, col);
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
newest.matrix[i][j] = matrix[i][j]/scalar;
}
}
return newest;
}
有没有办法凝聚这一点,以便而不必使4个独立的功能,我可以让一个重载函数,并把它确定哪些运营商被称为与这项工作?
_can使一个重载函数,并将它确定哪些运营商被称为并与工作_当然可以。你有没有试图做到这一点? –