| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1148 人关注过本帖
标题:[求助]为什么我这个程序无法编译成功无法运行
只看楼主 加入收藏
hmilylove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-9
收藏
 问题点数:0 回复次数:8 
[求助]为什么我这个程序无法编译成功无法运行

大家好,我是新手。今天在C++教程上原封的敲了一段程序,在VC++上。程序如下:
#include<iostream.h>
class figure{
protected:
double x,y;
public:
firgure(double a,double b)
{x=a;y=b;}
virtual void show_area()
{cout<<"No area computation defined";
cout<<"for this class.\n";
}
};
class triangle: public figure
{public:
trigngle(double a,double b):figure(a,b)
{};
void show_area()
{cout<<"Triangle with height"<<x;
cout<<"and base"<<y<<"has an area of";
cout<<x*y*0.5<<endl;}
};
class square:public figure{
public:
square(double a,double b):figure(a,b)
{};
void show_area()
{cout<<"Square with dimension"<<x;
cout<<"*"<<y<<"has an area of";
cout<<x*y<<endl;
}
};
class circle:public figure{
public:
circle(double a):figure(a,a)
{};
void show_area()
{cout <<"Circle with radius"<<x;
cout<<"has an area of";
cout<<x*x*3.1416<<endl;
}
};
main()
{figure *p;
triangle t(10.0,6.0);
square s(10.0,6.0);
circle c(10.0);
p=&t;
p->show_area();
p=&s;
p->show_area();
p=&c;
p->show_area();
return 0;
}
这个程序的功能是求三角形,圆形和矩形的面积。可是我按F5后,出现了如下的提示
--------------------Configuration: my_test - Win32 Debug--------------------
Compiling...
my_test.cpp
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/my_test.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

my_test.exe - 2 error(s), 0 warning(s)
由于我是新手。我想知道我的上面的程序有问题吗。还是出现了什么语法错误。我用的教程是清华出版社出版的C++教程。运行环境是VC++,希望哪位能帮我。感激不胜!

搜索更多相关主题的帖子: double figure 
2006-03-26 15:34
hmilylove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-9
收藏
得分:0 
#include<iostream.h>
class figure{
protected:
double x,y;
public:
figure(double a,double b)
{x=a;y=b;}
virtual void show_area()
{cout<<"No area computation defined";
cout<<"for this class.\n";
}
};
class triangle: public figure
{public:
trigngle(double a,double b):figure(a,b)
{};
void show_area()
{cout<<"Triangle with height"<<x;
cout<<"and base"<<y<<"has an area of";
cout<<x*y*0.5<<endl;}
};
class square:public figure{
public:
square(double a,double b):figure(a,b)
{};
void show_area()
{cout<<"Square with dimension"<<x;
cout<<"*"<<y<<"has an area of";
cout<<x*y<<endl;
}
};
class circle:public figure{
public:
circle(double a):figure(a,a)
{};
void show_area()
{cout <<"Circle with radius"<<x;
cout<<"has an area of";
cout<<x*x*3.1416<<endl;
}
};
main()
{figure *p;
triangle t(10.0,6.0);
square s(10.0,6.0);
circle c(10.0);
p=&t;
p->show_area();
p=&s;
p->show_area();
p=&c;
p->show_area();
return 0;
}
回复下。我首先发生了问题。呵呵。就是figure类中的构造函数多写了一个r.现将修改后的程序送上。谢谢!
2006-03-26 15:42
hmilylove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-9
收藏
得分:0 

晕。又发现问题了。。。。在triangle类中又写错构造函数了。。。。。谢谢斑竹大哥,别砍死我。。#include<iostream.h>
class figure{
protected:
double x,y;
public:
figure(double a,double b)
{x=a;y=b;}
virtual void show_area()
{cout<<"No area computation defined";
cout<<"for this class.\n";
}
};
class triangle: public figure
{public:
triangle(double a,double b):figure(a,b)
{};
void show_area()
{cout<<"Triangle with height"<<x;
cout<<"and base"<<y<<"has an area of";
cout<<x*y*0.5<<endl;}
};
class square:public figure{
public:
square(double a,double b):figure(a,b)
{};
void show_area()
{cout<<"Square with dimension"<<x;
cout<<"*"<<y<<"has an area of";
cout<<x*y<<endl;
}
};
class circle:public figure{
public:
circle(double a):figure(a,a)
{};
void show_area()
{cout <<"Circle with radius"<<x;
cout<<"has an area of";
cout<<x*x*3.1416<<endl;
}
};
main()
{figure *p;
triangle t(10.0,6.0);
square s(10.0,6.0);
circle c(10.0);
p=&t;
p->show_area();
p=&s;
p->show_area();
p=&c;
p->show_area();
return 0;
}
最后这段程序应该是0 error和0warning

2006-03-26 15:45
hmilylove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-9
收藏
得分:0 

晕啊。可是F5运行后弹出一个黑色窗口就没有了。后来我在调试标签下发现了如下的提示:
aded 'C:\WINNT\system32\ntdll.dll', no matching symbolic information found.
Loaded 'C:\WINNT\system32\kernel32.dll', no matching symbolic information found.
The thread 0x854 has exited with code 0 (0x0).
The program 'C:\Program Files\Microsoft Visual Studio\VC98\ATL\Include\Debug\my_next_test.exe' has exited with code 0 (0x0).

请问这是怎么回事啊。我知道*.dll是动态连接库文件。是不是我的C++版本有问题?拜托,拜托了

2006-03-26 15:50
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
我的没有错误.有危险!快跑呀!!啊啊!

=×&D o I p R e E n C g T l X&×=
2006-03-26 16:56
hmilylove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-9
收藏
得分:0 
楼上的前辈你说的是什么意思啊。能不能告诉我啊
2006-03-26 17:34
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
你有听过谢廷锋的一首歌...来了,来了,Music"因为爱,所以爱,不懂......";

=×&D o I p R e E n C g T l X&×=
2006-03-26 17:50
hmilylove
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-9
收藏
得分:0 
以下是引用Bjarne在2006-3-26 17:50:00的发言:
你有听过谢廷锋的一首歌...来了,来了,Music"因为爱,所以爱,不懂......";

拜托别卖关子了。等着救命呢

2006-03-26 18:20
踏魔狼
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:1322
专家分:33
注 册:2005-9-22
收藏
得分:0 
你按下"Ctrl+F5"保证没问题!!!我轻轻的来,轻轻的走.......

=×&D o I p R e E n C g T l X&×=
2006-03-26 19:27
快速回复:[求助]为什么我这个程序无法编译成功无法运行
数据加载中...
 
   



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

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