如何使用单个对象调用具有相同名称的两个类函数

How to invoke both of the class functions with same name with a single object?

本文关键字:类函数 两个 对象 单个 何使用 调用      更新时间:2023-10-16

我必须使用来自 void main 的对象 S 来调用函数 1 和 2,从而编写两个语句。但对象类型为 SECOND。这两个函数具有完全相同的名称,我必须从 main 的相同对象 S 调用它们。 代码是

class FIRST
{
    int num1;
public:
    FIRST()
    {
        num1 = 1;
    }
    void display() /* function 1 */
    {
        cout << num1 << endl;
    }
};
class SECOND
{
    int num2;
public:
    SECOND()
    {
        num2 = 2;
    }
    void display() /*  function 2 */
    {
        cout << num2 << endl;
    }
};
void main()
{
    SECOND S;
    statement 1 /*What can they be? */
    statement 2
    getch();
}
由于 FIRST

和 SECOND 是两个完全独立且不相关的类,因此无法在 SECOND 类的实例上调用 FIRST 类的 display(( 方法。

但是,如果 SECOND 是从 FIRST 派生的

class SECOND : public FIRST

那么你应该能够做到:

S.display(); // Calls function2
S.FIRST::display(); // Calls function1(Base class version)