
C++编程 类继承的问题 高手请进
classA;classB;classC;classD;四个类,A是BC的基类B:publicA要在B的.h文件里包含一下A的.h吧C:publicA同理也要在C的.h文...
class A ;
class B;
class C;
class D;
四个类,
A是B C的基类 B : public A
要在B的.h文件里包含一下A的.h吧
C : public A 同理也要在C的.h文件里包含一下A的.h吧
然后D : public A , public B 也要在D的.h文件里包含一下C的.h和D的.h吧
问题来了 为什么我只在B的.h里面包含一下A的.h 剩下的C里没有包含A 的.h
D里没有包含B C 的.h 编译也能通过呢 为什么 我想不明白! 展开
class B;
class C;
class D;
四个类,
A是B C的基类 B : public A
要在B的.h文件里包含一下A的.h吧
C : public A 同理也要在C的.h文件里包含一下A的.h吧
然后D : public A , public B 也要在D的.h文件里包含一下C的.h和D的.h吧
问题来了 为什么我只在B的.h里面包含一下A的.h 剩下的C里没有包含A 的.h
D里没有包含B C 的.h 编译也能通过呢 为什么 我想不明白! 展开
展开全部
CC++编译过程首先是预编译,就是把带有预编译处理的语句放在一边,加#include的作用就是声明这个头文件要插入预编译头中,预编译头中已经存在头文件了就不需要再重复include
再比如MFC工程中有个默认的app的头文件,里面只include了resource头文件,但是里面可以写CString等MFC类
再比如MFC工程中有个默认的app的头文件,里面只include了resource头文件,但是里面可以写CString等MFC类
追问
但是呢 我已经build an run 了 出来的结果也没有错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
目测是在main函数所在文件同时包含了四个头文件,使这些文件都连为一个文件了……
追问
那为什么我 在B 前面不加A的.h 还不行呢 只要在B里面加A的.h 其他的地方 像C 和 D 中 都不用加了 坐等
追答
我又没看到你的源代码,怎么知道你是怎么写#include的……
从你说的情况判断,大概你是在main函数所在文件里面按顺序包含了B C D的头文件,而在B的头文件中包含了A的头文件,因此造成了A B C D的类声明依次排列,编译器看到的也就成了正确的代码……
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一流的员工
{
:
员工();
虚拟雇员159();
集(****);
得到(* *);
私人如下:
字符串名称;
整数ID;
}
类管理:公共雇员
{
公众: BR />经理();
虚拟管理器();
......
私人
诠释SAL;
}
每小时类:公共雇员
{
......
私人
诠释工资;
诠释小时;
}
{
:
员工();
虚拟雇员159();
集(****);
得到(* *);
私人如下:
字符串名称;
整数ID;
}
类管理:公共雇员
{
公众: BR />经理();
虚拟管理器();
......
私人
诠释SAL;
}
每小时类:公共雇员
{
......
私人
诠释工资;
诠释小时;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没分没钱,围观一下
C/C++感兴趣的欢迎来百度贴吧玩。。。
C/C++感兴趣的欢迎来百度贴吧玩。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
zjfaok 正解,顶
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询