标题:[求助]请看下错哪了?
只看楼主
编程新贵
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-8-11
 问题点数:0 回复次数:6 
[求助]请看下错哪了?

为什么我的代码编译的时候没有任何错误,但是为什么就是不能运行呢?请高手指点下,谢谢!!!

#include<iostream.h>
class chengji
{
int id;
char *name;
public:

float score[3]; //score[0]数学,score[1]英语,score[2]物理
void zongfen(float *score)
{
cout<<this->name<<score[0]<<endl<<score[1]<<endl<<score[2]<<endl;

cout<<"最高分"<<(score[0]+score[1]+score[2]);
};
chengji(int a,char *p);

};
class chengji::chengji(int a,char *p)
{id=a;name=p;};


void main()
{
chengji a(12,"xiaoyu");
chengji b(22,"xiaoqiang");
chengji c(21,"zhang3");

a.score[0]=77;
a.score[1]=66;
a.score[2]=55;
a.zongfen(a.score);
b.score[0]=77;
b.score[1]=45;
b.score[2]=99;
b.zongfen(b.score);
c.score[0]=12;
c.score[1]=63;
c.score[2]=88;
c.zongfen(c.score);


}

[此贴子已经被作者于2006-10-27 23:27:54编辑过]

搜索更多相关主题的帖子: int char chengji name class 
2006-10-27 23:23
Meixu
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-10-12
得分:0 

连接出错:error LNK2001: unresolved external symbol "public: __thiscall chengji::chengji(int,char *)" (??0chengji@@QAE@HPAD@Z)

#include<iostream.h>
class chengji
{
int id;
char *name;
public:

float score[3]; //score[0]数学,score[1]英语,score[2]物理
void zongfen(float *score)
{
cout<<this->name<<score[0]<<endl<<score[1]<<endl<<score[2]<<endl;

cout<<"最高分"<<(score[0]+score[1]+score[2]);
};
chengji(int a,char *p);
};

chengji::chengji(int a,char *p)
{id=a;name=p;};

void main()
{
chengji a(12,"xiaoyu");
chengji b(22,"xiaoqiang");
chengji c(21,"zhang3");
a.score[0]=77;
a.score[1]=66;
a.score[2]=55;
a.zongfen(a.score);
b.score[0]=77;
b.score[1]=45;
b.score[2]=99;
b.zongfen(b.score);
c.score[0]=12;
c.score[1]=63;
c.score[2]=88;
c.zongfen(c.score);
}

上面这个可以试试


多看、多练、多写
2006-10-27 23:44
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
你的程序有严重的安全漏洞, 我也懒得跟你说了。

程序编译就应该报错了。

class chengji::chengji(int a,char *p) // 你将这一行中的第一个单词 class 去掉就可以了。

虽然程序可以运行了, 但是这个程序是完全不合格的。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-10-27 23:47
Meixu
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2006-10-12
得分:0 

改成这样如何:
#include<iostream.h>

class chengji
{
int id;
char *name;
public:

float score[3]; //score[0]数学,score[1]英语,score[2]物理
void zongfen(float *score)
{
cout<<this->name<<score[0]<<endl<<score[1]<<endl<<score[2]<<endl;

cout<<"最高分"<<(score[0]+score[1]+score[2]);
};
chengji(int a,char *p){id=a;name=p;};

};

//chengji::chengji(int a,char *p)
//{id=a;name=p;};

void main()
{
chengji a(12,"xiaoyu");
chengji b(22,"xiaoqiang");
chengji c(21,"zhang3");
a.score[0]=77;
a.score[1]=66;
a.score[2]=55;
a.zongfen(a.score);
b.score[0]=77;
b.score[1]=45;
b.score[2]=99;
b.zongfen(b.score);
c.score[0]=12;
c.score[1]=63;
c.score[2]=88;
c.zongfen(c.score);
}


多看、多练、多写
2006-10-28 00:06
编程新贵
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-8-11
得分:0 
以下是引用kai在2006-10-27 23:47:59的发言:
你的程序有严重的安全漏洞, 我也懒得跟你说了。

程序编译就应该报错了。

class chengji::chengji(int a,char *p) // 你将这一行中的第一个单词 class 去掉就可以了。

虽然程序可以运行了, 但是这个程序是完全不合格的。

有什么漏洞吗,请指教下谢谢,

2006-10-28 00:07
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
在类里面涉及到指针部分该怎么处理, 自己去看书吧.

你至少要清除为什么用copyconstrutur, 以及为什么使用 assignment

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2006-10-28 01:03
zxyliwei
Rank: 1
等 级:新手上路
帖 子:88
专家分:0
注 册:2005-12-6
得分:0 
把*name改成数组吧? name[].
不知道上面说的是不是这个?

醒逍遥;醉也逍遥!
2006-11-06 12:58



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-99235-1-1.html




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

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