gpt4 book ai didi

c++ - child 的祖 parent 重载功能

转载 作者:可可西里 更新时间:2023-11-01 16:36:27 27 4
gpt4 key购买 nike

<分区>

我需要理解为什么 C++ 不允许在父级中声明任何重载函数的情况下访问子级中的祖父级重载函数。考虑以下示例:

class grandparent{
public:
void foo();
void foo(int);
void test();
};

class parent : public grandparent{
public:
void foo();
};

class child : public parent{
public:
child(){
//foo(1); //not accessible
test(); //accessible
}
};

这里,两个函数 foo() 和 foo(int) 是 Grandparent 中的重载函数。但是 foo(int) 是不可访问的,因为 foo() 是在 Parent 中声明的(不管它声明是公共(public)的还是私有(private)的还是 protected )。但是,test() 是可访问的,这符合 OOP。

我需要知道这种行为的原因。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com