首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

新手请问2个C++的有关问题

2012-03-29 
新手请教2个C++的问题新手请教2个问题:1.可以写一个基类,基类的方法不写出实现,而在派生类里实现基类的方

新手请教2个C++的问题
新手请教2个问题:

1.
可以写一个基类,基类的方法不写出实现,而在派生类里实现基类的方法吗?
具体怎么做呢?基类的方法是不是必须都是纯虚函数?

2.
我在“a.h”里定义了一个类class1,在“b.h”里定义了一个class2,都是同一个名称空间,class2里有一个成员是class1类型的,还有一个方法的返回类型是class1的,但是编译不成功,错误提示在class2里那个返回class1类型的方法那里,b.h里已经引入了“#include   "a.h "   ”,请问还可能是什么原因呢?


[解决办法]
1.可以,使用纯虚函数。
基类的方法不是必须都是纯虚函数,不过一个类中只要有纯虚函数存在,那么这个类就是虚基类了。
2。还可能时class1找不到对应的构造函数,具体贴出代码看看

[解决办法]
1.你说对了
2.使用了名字空间的话,需给出全修饰的名字
ns::class1
[解决办法]
1。如果一个类中只有纯虚函数,那么它叫 抽象类。C++对类的定义比java要自由一些
2。要看具体代码
[解决办法]
doubhor说C++是面向对象的,但是也能面向过程~java是完全面向对象的,所以规定比较严格~~~
这说法绝多错误啊~~C++也能面向过程是因为它要兼容C语言~~
C++还有多重继承呢~~而java却没有~~从面向对象的方面来说C++绝对不亚于java的~~
回答楼主的问题::编辑错误是因为你没有申明~~就算你把a.h包含进去了~~但是就算两个类在同一个文件里面如果调用的一个类里面包含了另一个类的部分还要先申明才可以呢~~~具体的你看了我的答复自己看看怎么改~~~不过我说的不一定对~~因为要看具体的代码的~~不看代码谁也不知道什么情况~~
[解决办法]
1 是的。
2 你的class1是如何定义的? 例如,拷贝构造是否被私有化了?

热点排行