爱问知识人 爱问教育 医院库

c 程序出错!

首页

c++程序出错!


        

提交回答
好评回答
  • 2018-04-04 06:03:02
    char*s; (){s='\0';}~~~~~~~~~~~~~~~s是char*,把它赋值为字符是不对的~samp(){if(s)delete[]s;cout<<"Freeings\n";}samp(samp&ob1)

    F***

    2018-04-04 06:03:02

其他答案

    2018-04-04 11:03:02
  • 1)copy构造函数里的"s=new char(l+1)" 与析构函数里的释放指针delete[]s不匹配。解决:s=new char[l+1]2)"ob=input()",类里由于有指针成员,在没有定义"="操作符重载的情况下就用"="号,会产生问题。解决:samp ob = input();这段代码用的是copy构造函数,不会调用"="操作符3)samp(){s='\0';} ,s明明是个指针,为什么不用"s=NULL"? "s='\0'"晦涩!!!4)samp input() ,返回的类型是个类,可以考虑samp& input()以提高效率,但由于在类中有指针,需要做写额外的工作!5samp(samp &ob1) ,copy构造函数没使用const限定类型符来限定可接受的参数,不利于健壮类和丰富类的功能!

    全***

    2018-04-04 11:03:02

  • 2018-04-04 08:03:02
  • 析构函数中的delete不对,没有用new申请动态空间的话不能用deldte

    当***

    2018-04-04 08:03:02

  • 2018-04-04 07:03:02
  • 看看是不是编译器的问题!

    安***

    2018-04-04 07:03:02

类似问题

换一换
  • 互联网 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新资料 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):