gpt4 book ai didi

c++ - 函数 C::add() 中不允许将 'C *' 隐式转换为 'A *'

转载 作者:行者123 更新时间:2023-11-30 04:42:22 25 4
gpt4 key购买 nike

在编译以下代码时,我收到一条错误消息,如“函数 C::add() 中不允许将‘C *’隐式转换为‘A *’”。

#include<iostream.h>
#include<conio.h>
class A
{
public:
int a;
int get()
{
return 10;
}
};
class B:protected A
{
..............................

};
class C: public B
{
public:
void add()
{
cout<<a;
cout<<get();
}
};
void main()
{
C ob;
ob.add();
getch();
}

最佳答案

在您的代码的第 2 行之后添加“using namespace std”后,我在运行此程序时没有收到任何错误。

完整代码

#include<iostream>
#include<stdio.h>
using namespace std;
class A
{
protected:
int a;
int get()
{
return 10;
}
};
class B:protected A
{
// ..............................

};
class C:public B
{
public:
void add()
{
cout<<a;
cout<<get();
}
};
int main()
{
C ob;
ob.add();
//getch();
}

或者你可以使用

std::cout<<a;
std::cout<<get();

关于c++ - 函数 C::add() 中不允许将 'C *' 隐式转换为 'A *',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58776196/

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