C++求大神见教

C++求大神指教
C++求大神见教


运行出错:‘

C++求大神见教

------解决方案--------------------
VC6.0没看见有啥子问题,大概人品太好了
------解决方案--------------------
在virtual里面,如果你要把它定义为纯虚函数的话,在后面 =0  否则在后面加{}
------解决方案--------------------
ISpeak是一个未完成的类啊,而且尽量把构造函数析构函数的写上,反正我喜欢写上~
------解决方案--------------------
引用:
在virtual里面,如果你要把它定义为纯虚函数的话,在后面 =0  否则在后面加{}

这是一种方法,作为接口使用,第二种,你实现一下它
------解决方案--------------------
class ISpeak
{
public:
virtual void speak(){}
};
------解决方案--------------------
ISpeak 里面
要么
virtual void speak(){};
要么
virtual void speak() = 0;

------解决方案--------------------
引用:
ISpeak 里面
要么
virtual void speak(){};
要么
virtual void speak() = 0;


个人觉得也是这样。楼主可以试一下。
------解决方案--------------------
virtual void speak(){}
------解决方案--------------------
就算=0还是得定义,而且还不能放class-body里面。{}吧。
------解决方案--------------------
引用:
就算=0还是得定义,而且还不能放class-body里面。{}吧。

好吧眼残。。。如果是virtual ~ISpeak() = 0;还要另外定义;这里=0可以不用。
------解决方案--------------------

class ISpeak
{
public:
virtual void speak(){}
};

看楼主既然有用ISpeak的实例,应该需要这样吧
------解决方案--------------------
定义完整一下吧
------解决方案--------------------
4l 正解。。
------解决方案--------------------
虚函数未定义完全
------解决方案--------------------
class ISpeak
{
public:
virtual void speak()
{
std::cout<<"dog bark.."<<std::endl;
}
};
基类虚函数未定义完全
------解决方案--------------------
完整代码,vs2010亲测成功

//#include <iostream>
//using namespace std;
//
//class Base{
//public:
// void run() { display(); }
// virtual void display() { cout<< "Base" <<endl; }
//};
//
//class Drive: public Base{
//public:
// void display() { cout<< "Drive" <<endl; }
//};
//
//int main(void)
//{
// Base *p = new Drive;
// p->run();
// delete p;
// system("PAUSE");
// return 0;
//}

#include <iostream>
using std::endl;
using std::cout;

class ISpeak
{
public: