求解一道C++程序的解答

来源:百度知道 编辑:UC知道 时间:2024/09/24 21:17:26
#include<iostream.h>
class Base
{
public:
virtual void vfun()
{cout<<"vfun()in Base."<<end1;}
void fun()
{cout<<"fun()in Base."<<end1;}
};
class Derive:public Base
{
public:
void vfun()
{cout<<"vfun()in Derive."<<end1;}
void fun()
{cout<<"fun()in Derive."<<end1;}
};
void main()
{
Base b,*p=&b;
Derive d;
p->vfun();p->fun();
p=&d;
p->vfun();p->fun();
}
这道题我在VC环境调试一下,调了多次,都不成功,我急切想知道这个程序的解答!
谢谢

这其实是一个很简单的错误,程序中的换行符应该是endl不是end1的啦,最后一个是字母l不是数字1,全部改正后及正确了。
程序修改后如下:
#include<iostream.h>
class Base
{
public:
virtual void vfun()
{cout<<"vfun()in Base."<<endl;}
void fun()
{cout<<"fun()in Base."<<endl;}
};
class Derive:public Base
{
public:
void vfun()
{cout<<"vfun()in Derive."<<endl;}
void fun()
{cout<<"fun()in Derive."<<endl;}
};
void main()
{
Base b,*p=&b;
Derive d;
p->vfun();p->fun();
p=&d;
p->vfun();p->fun();
}

end1写错了,应该是endl而不是end1(后面是“l”,不是数字1)