| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 575 人关注过本帖
标题:[求助]肯定是有关稀构函数的调试
只看楼主 加入收藏
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
结帖率:100%
收藏
 问题点数:0 回复次数:8 
[求助]肯定是有关稀构函数的调试

程序如下:
#include<iostream.h>

#include<string.h>

class pica
{
public:
pica()
{
mz=new char[100];
zl=0;
}
pica(char *p,int z):zl(z)
{
strcpy(mz,p);
}
~pica()
{
delete []mz;
}
pica(const pica &other)
{
mz=new char[strlen(other.mz)+1];
strcpy(mz,other.mz);
zl=other.zl;
}
pica& operator =(const pica &other)
{
mz=new char[strlen(other.mz)+1];
strcpy(mz,other.mz);
zl=other.zl;
return *this;
}
friend ostream& operator <<(ostream &out,const pica &other)
{
out<<other.mz;
out<<other.zl;
return out;
}
friend istream& operator >>(istream &in,pica &other)
{
in>>other.mz;
in>>other.zl;
return in;
}

private:
char *mz;
int zl;
};

void main()
{
int b;

cout<<"请输入要查询几辆车"<<endl;

cin>>b;

pica* gaga=new pica[b];

for(int i=0;i<b;i++)
{
char *p=NULL;
p=new char[100];
cout<<"输入生产商"<<endl;
cin>>p;
cout<<"输入制造年份"<<endl;
int m;
cin>>m;
pica a(p,m);
gaga[i]=a;
}
for(int j=0;j<b;j++)
{
cout<<gaga[j]<<endl;
}

delete []gaga;

}
为什么运行事出错啊 一直找不到原因 我合计是NEW 和DELETE的问题 但是看不出来 希望大家指点指点吧

搜索更多相关主题的帖子: 函数 调试 
2006-07-28 09:03
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
以下是引用heliujin在2006-7-28 9:03:03的发言:

程序如下:
#include<iostream.h>

#include<string.h>

class pica
{
public:
pica()
{
mz=new char[100];
zl=0;
}
pica(char *p,int z):zl(z)
{
mz=new char[zl];
strcpy(mz,p);
}
~pica()
{
delete []mz;
}
pica(const pica &other)
{
mz=new char[strlen(other.mz)+1];
strcpy(mz,other.mz);
zl=other.zl;
}
pica& operator =(const pica &other)
{
mz=new char[strlen(other.mz)+1];
strcpy(mz,other.mz);
zl=other.zl;
return *this;
}
friend ostream& operator <<(ostream &out,const pica &other)
{
out<<other.mz;
out<<other.zl;
return out;
}
friend istream& operator >>(istream &in,pica &other)
{
in>>other.mz;
in>>other.zl;
return in;
}

private:
char *mz;
int zl;
};

void main()
{
int b;

cout<<"请输入要查询几辆车"<<endl;

cin>>b;

pica* gaga=new pica[b];

for(int i=0;i<b;i++)
{
char *p=NULL;
p=new char[100];
cout<<"输入生产商"<<endl;
cin>>p;
cout<<"输入制造年份"<<endl;
int m;
cin>>m;
pica a(p,m);
gaga[i]=a;
delete p;
}
for(int j=0;j<b;j++)
{
cout<<gaga[j]<<endl;
}

delete []gaga;

}


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-28 11:50
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
pica(char *p,int z):zl(z)
{
strcpy(mz,p);
}
MZ没空间,这里是0
非法访问
加#include<string.h>
mz=new(strlen(p)+1);

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-28 12:26
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 

还有楼上的delete
WFPB,INT 与 CHAR* 这里没关系吧


嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-28 12:27
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
回复:(song4)还有楼上的deleteWFPB,INT 与 CHAR* 这...
以下是引用song4在2006-7-28 12:27:20的发言:

还有楼上的delete
WFPB,INT 与 CHAR* 这里没关系吧

song4,呵呵,你也来了啊,没看明白你这句的意思~!


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-28 12:57
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
char *mz;
int zl;
这里zl好象与mz没关系
pica(char *p,int z):zl(z)
{
mz=new char[zl];
strcpy(mz,p);
}

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-07-28 19:10
heliujin
Rank: 2
等 级:论坛游民
帖 子:249
专家分:14
注 册:2006-3-14
收藏
得分:0 

谢谢大家了 (zl和mz确实没关系)

2006-07-28 20:07
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
哦。搞昏了,呵呵
pica(char *p,int z):zl(z)
    {
        mz=new char[strlen(p)+1];
        strcpy(mz,p);
    }

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2006-07-29 12:51
baisea2001
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2005-10-27
收藏
得分:0 

额!好长的程序!

2006-08-01 02:17
快速回复:[求助]肯定是有关稀构函数的调试
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041195 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved