找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 230|回复: 8

[求助]为什么我这个程序无法编译成功无法运行

[复制链接]
发表于 2009-11-2 04:49:19 | 显示全部楼层 |阅读模式 IP:江苏扬州
大家好,我是新手。今天在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++,希望哪位能帮我。感激不胜!
发表于 2009-11-2 04:49:22 | 显示全部楼层 IP:江苏扬州
#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.现将修改后的程序送上。谢谢!
回复

使用道具 举报

发表于 2009-11-2 04:49:25 | 显示全部楼层 IP:江苏扬州
晕。又发现问题了。。。。在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
回复

使用道具 举报

发表于 2009-11-2 04:49:31 | 显示全部楼层 IP:江苏扬州
晕啊。可是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++版本有问题?拜托,拜托了
回复

使用道具 举报

发表于 2009-11-2 04:49:37 | 显示全部楼层 IP:江苏扬州
我的没有错误.有危险!快跑呀!!啊啊!
回复

使用道具 举报

发表于 2009-11-2 04:49:41 | 显示全部楼层 IP:江苏扬州
楼上的前辈你说的是什么意思啊。能不能告诉我啊
回复

使用道具 举报

发表于 2009-11-2 04:49:47 | 显示全部楼层 IP:江苏扬州
你有听过谢廷锋的一首歌...来了,来了,Music"因为爱,所以爱,不懂......";
回复

使用道具 举报

发表于 2009-11-2 04:49:53 | 显示全部楼层 IP:江苏扬州
以下是引用Bjarne在2006-3-26 17:50:00的发言:
你有听过谢廷锋的一首歌...来了,来了,Music"因为爱,所以爱,不懂......";
拜托别卖关子了。等着救命呢
回复

使用道具 举报

发表于 2009-11-2 04:49:59 | 显示全部楼层 IP:江苏扬州
你按下"Ctrl+F5"保证没问题!!!我轻轻的来,轻轻的走.......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 03:34 , Processed in 0.257181 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表