C++中的继承的有关问题想请问下高手!(本人一直在线,请快点,比较急多谢了!)
C++中的继承的问题想请教下高手!(本人一直在线,请快点,比较急,谢谢了!)
在一个头文件中定义基类,同时在同一个文件下定义其继承的类
#ifndef J_H
#define J_H
class J
{
声明一些函数及变量
如
int insert();
};
class extended_J:public J
{
再声明一些函数及变量
如:
int output();
}
#endif//这里的位置有错吗?
下面我有在CPP中定义上述的函数
如:
int J::insert()
{
}
...
int extended_J::output()
{
}
//以上这样的形式有错吗?
//还有,我下面的output()可不可以直接调用上面的input()
//如果能的话,那应该怎么做,请大家帮下忙!!
------解决方案--------------------
可以,公有继承时,基类的东西都能访问。既,基类的东西就是派生类的,可以直接用。。
------解决方案--------------------
//以上这样的形式有错吗?
可以
//还有,我下面的output()可不可以直接调用上面的input()
//如果能的话,那应该怎么做,请大家帮下忙!!
若要在output里直接调用input,必须将input设为public或protected
------解决方案--------------------
好像没啥错。
父类的public和protected成员子类都可以直接访问。
------解决方案--------------------
可以
------解决方案--------------------
在一个头文件中定义基类,同时在同一个文件下定义其继承的类
#ifndef J_H
#define J_H
class J
{
声明一些函数及变量
如
int insert();
};
class extended_J:public J
{
再声明一些函数及变量
如:
int output();
}
#endif//这里的位置有错吗?
下面我有在CPP中定义上述的函数
如:
int J::insert()
{
}
...
int extended_J::output()
{
}
//以上这样的形式有错吗?
//还有,我下面的output()可不可以直接调用上面的input()
//如果能的话,那应该怎么做,请大家帮下忙!!
------解决方案--------------------
可以,公有继承时,基类的东西都能访问。既,基类的东西就是派生类的,可以直接用。。
------解决方案--------------------
//以上这样的形式有错吗?
可以
//还有,我下面的output()可不可以直接调用上面的input()
//如果能的话,那应该怎么做,请大家帮下忙!!
若要在output里直接调用input,必须将input设为public或protected
------解决方案--------------------
好像没啥错。
父类的public和protected成员子类都可以直接访问。
------解决方案--------------------
可以
------解决方案--------------------
- C/C++ code
#ifndef J_H #define J_H class J { 声明一些函数及变量 如 int insert(); }; class extended_J:public J { 再声明一些函数及变量 如: int output(); } // <--这里需要一个分号 #endif//这里的位置有错吗? 下面我有在CPP中定义上述的函数 如: int J::insert() { } ... int extended_J::output() { }
------解决方案--------------------
哦,很好
------解决方案--------------------
1楼说的有问题