C++改错题,下面这个程序哪里出错了?应该怎么改?#include#includeclass CBase{protected:char *ch;public:CBase(char *x){ch=new char[20];strcpy(ch,x);}virtual void fun()=0;virtual void fun1(){cout
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 22:08:12
![C++改错题,下面这个程序哪里出错了?应该怎么改?#include#includeclass CBase{protected:char *ch;public:CBase(char *x){ch=new char[20];strcpy(ch,x);}virtual void fun()=0;virtual void fun1(){cout](/uploads/image/z/10071467-35-7.jpg?t=C%2B%2B%E6%94%B9%E9%94%99%E9%A2%98%2C%E4%B8%8B%E9%9D%A2%E8%BF%99%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%93%AA%E9%87%8C%E5%87%BA%E9%94%99%E4%BA%86%3F%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E6%94%B9%3F%23include%23includeclass+CBase%7Bprotected%3Achar+%2Ach%3Bpublic%3ACBase%28char+%2Ax%29%7Bch%3Dnew+char%5B20%5D%3Bstrcpy%28ch%2Cx%29%3B%7Dvirtual+void+fun%28%29%3D0%3Bvirtual+void+fun1%28%29%7Bcout)
C++改错题,下面这个程序哪里出错了?应该怎么改?#include#includeclass CBase{protected:char *ch;public:CBase(char *x){ch=new char[20];strcpy(ch,x);}virtual void fun()=0;virtual void fun1(){cout
C++改错题,下面这个程序哪里出错了?应该怎么改?
#include
#include
class CBase{
protected:
char *ch;
public:
CBase(char *x)
{
ch=new char[20];
strcpy(ch,x);
}
virtual void fun()=0;
virtual void fun1()
{cout
C++改错题,下面这个程序哪里出错了?应该怎么改?#include#includeclass CBase{protected:char *ch;public:CBase(char *x){ch=new char[20];strcpy(ch,x);}virtual void fun()=0;virtual void fun1(){cout
CBase中含有virtual void fun()=0; 是抽象类,是不能创建对象的.
你的头文件写法不规范,在新的c++标准中是错误的.
main函数写法也是错误的.
并且基类和派生类都应该定义拷贝构造函数,而你没有定义.
另外注意不要把const char* 隐转换为char*
修改后的代码:
#include
#include
#include
using namespace std;
class CBase
{
protected:
char *ch;
public:
CBase(const char *x)
{
ch = new char[20];
strcpy(ch,x);
}
virtual void fun() {};
virtual void fun1()
{
cout