【发布时间】:2021-11-26 03:09:13
【问题描述】:
class department
{
void max() ***HOW TO PASS ARRAY OF OBJECT HERE , WHAT PARAMETERS SHOULD I PASS***
{
}
};
class B : public department {
};
int main()
{
B a[10];
// a.max(a,n); ***HOW TO CALL THIS max FUNCTION***
return 0;
}
我想将对象数组a[10] 传递给max 函数。如何调用和传递?
我不想这样:
for(i = 0; i < n; i++)
{
a[i].max
}
【问题讨论】:
-
为什么不想使用
for循环?这似乎是一个可以接受的解决方案。 -
您将
max设为类的成员函数,因此您必须在实例上调用它。如果你想有一个函数接受departments 的数组,那么你必须编写这样一个函数 -
确切的语法
a.max(a,n);是不可能的,因为a不是一个类(而是一个数组)。 -
Nitpick:
max隐含地是department的 private 成员函数。子类B因此无权访问max,所以即使给定B的实例来调用max,也会出现错误。
标签: c++ function object inheritance arrayobject