C++中如果子类一个变量与基类的某个变量重名了怎么办
比如:这个调用printfB是输出哪个a,如果想输出另一个a怎么写classA{public:inta;};classB:publicA{public:inta;void...
比如:这个调用printfB是输出哪个a,如果想输出另一个a怎么写
class A
{
public:
int a;
};
class B:public A
{
public:
int a;
void printfB()
{
cout << a;
}
}; 展开
class A
{
public:
int a;
};
class B:public A
{
public:
int a;
void printfB()
{
cout << a;
}
}; 展开
6个回答
展开全部
输出B的a
如果想输出A的a 可以cout<<A::a;
#include<iostream>
using namespace std;
class A
{
public:
int a;
A(){a=1;}
};
class B:public A
{
public:
int a;
B(){a=2;}
void printfB()
{
cout << a <<endl;
cout << A::a <<endl;
}
};
int main()
{
B b;
b.printfB();
return 0;
}
结果:
2
1
Program ended with exit code: 0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出的是b中的,基类的同名成员变量会被隐藏,如果要输出A中的a,使用cout<<A::a;即可。::为作用域运算符,感兴趣可以搜一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出的是 B::a,如果要输出 A::a,则换成 cout << A::a;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
理论上是输出B类中的a。
- -试试声明class B 的成员b。然后cout<<b.a
- -试试声明class B 的成员b。然后cout<<b.a
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询