标题:[求助]一个简单的类的问题!
只看楼主
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
有实现了啊。
而且print不是纯虚的。楼上的再好好看看纯虚函数的定义。
virtual void print()=0; 这样才算。

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-03-06 17:42
名人
Rank: 1
等 级:新手上路
威 望:1
帖 子:205
专家分:0
注 册:2006-3-3
得分:0 
msdn上说
Attempting to call a pure virtual function from the constructor or destructor of an abstract base class will cause LNK2001 since by definition a pure virtual function has no base class implementation.

未必钱多乐便多,财多累己招烦恼。 清贫乐道真自在,无牵无挂乐逍遥。
2006-03-06 17:43
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
很感谢你,不过我在vc上运行还是会出现上述错误
难道不是程序本身的原因吗?

天行健,君子以自强不息!!QQ:68660681
2006-03-06 17:44
DarkHero
Rank: 1
等 级:新手上路
威 望:2
帖 子:191
专家分:0
注 册:2006-1-14
得分:0 
见9楼的kai,粗心错误!!!
浪费大家时间…………………………谨慎点

for( ; me.alive() ; ) { 淡泊名利,志存高远 } //Forever
2006-03-06 19:23
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 

那是我写上来的时候写错的,
我编的时候没写错,我还不至于那种错误都检查不出来。


天行健,君子以自强不息!!QQ:68660681
2006-03-06 21:04
maoguoqing
Rank: 6Rank: 6
来 自:重庆
等 级:贵宾
威 望:28
帖 子:2980
专家分:19
注 册:2005-12-5
得分:0 
以下是引用柳儿在2006-3-6 16:59:00的发言:
employees.cpp
******************************************************
#include"employee.h"
//#include"employee.cpp" 把这个去掉,用类的时候,只要引用头文件就可以了。

搞懂了,应该引用employee.cpp,不要employee.h


天行健,君子以自强不息!!QQ:68660681
2006-03-06 22:31
olivezhang
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-9-14
得分:0 
1。楼主的代码本身没有问题。
2。问题可能以下两方面:
(1)正如楼上的同行说的,头文件写错了,或包含错了,且头文件要用这种格式,以防重复引用:
#ifndef
#define
.....
#endif
(2)工程错了,建议你新建一个win32 console的空工程试试。

谷底深深行 ,峰顶漫漫步......@_@
2006-03-07 11:22
olivezhang
Rank: 1
等 级:新手上路
帖 子:223
专家分:0
注 册:2005-9-14
得分:0 

要不你试试如下代码:(运行非常正常)
1。main主函数文件:

//Test.cpp
//Test some instance

#include "TestInstance.h"

#include <IOSTREAM>
using namespace std;


int main()
{
char *p="xiaoming";
employee k(p);
k.print();

system("pause");
return 0;
}

2。类头文件
//TestInstance.h
#ifndef TESTINSTANCE_H_
#define TESTINSTANCE_H_

class employee{
public:
char *name;
employee(char s[32]);
virtual void print();
virtual void print_status();
};

#endif

3。类实现文件
//TestInstance.cpp

#include "TestInstance.h"

#include <IOSTREAM>
using namespace std;

employee::employee(char *s)
{
name=s;
}

void employee::print()
{
cout<<name<<endl;
print_status();
}

void employee::print_status()
{
cout<<"single person!"<<endl;
}


谷底深深行 ,峰顶漫漫步......@_@
2006-03-07 11:28



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




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

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