| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 421 人关注过本帖
标题:高高手帮忙看一下,这样的提示是什么意思?
只看楼主 加入收藏
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
结帖率:78.26%
收藏
已结贴  问题点数:0 回复次数:2 
高高手帮忙看一下,这样的提示是什么意思?
#include<iostream>
typedef int datatype;
using namespace std;
class A
{
protected:
 datatype a,b;
public:
 A(datatype c,datatype d):a(c),b(d)
 {
 }
 virtual void set()=0;
 virtual void show()=0;
};
class B:public A
{
public:
 B(datatype c,datatype d):A(c,d)
 {
 }
 void set()
 {
 cout<<"please input the stutistic:"<<endl;
 cin>>a>>b;
 }
 void show()
 {
 cout<<"the stutistic is:"<<endl;
 cout<<a<<" "<<b<<endl;
 }
};
int main()
{
 B b(1,2);
 b.show();
   A a[]={b};
 a[0].set();
 a[0].show();
 return 0;
}
我调试的时候没有错误,但运行的时候出现这样的提示:
obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall A::show(void)" (?show@A@@UAEXXZ)
obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall A::set(void)" (?set@A@@UAEXXZ)
我想问一下这个是什么意思?为什么会出现这样的信息?
搜索更多相关主题的帖子: please public include void 
2011-06-26 09:34
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:20 
代码改为
    A* a[] = { &b };
    a[0]->set();
    a[0]->show();

因为A是个纯虚类,无法被实例化,当然也就不可能声明其数组
2011-06-26 11:13
棉雨
Rank: 5Rank: 5
等 级:职业侠客
帖 子:174
专家分:368
注 册:2011-4-22
收藏
得分:0 
回复 2楼 rjsp
后来我去查了一下,说,有纯虚函数的类是不可能生成类对象的,如果没有纯虚函数则可以.
2011-06-26 11:20
快速回复:高高手帮忙看一下,这样的提示是什么意思?
数据加载中...
 
   



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

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