| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1033 人关注过本帖
标题:[求助]类继承问题,请大家看下,错哪了?找不出来啊。
只看楼主 加入收藏
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
结帖率:86.67%
收藏
 问题点数:0 回复次数:16 
[求助]类继承问题,请大家看下,错哪了?找不出来啊。

#include"License.h"
#include<string>
class HuntingLicense:public License
{
public:
HuntingLicense(){};
HuntingLicense(string hunting,string fName,string mName,string lName,int theAge,int theId);
string getTheName()const;
void read(istream&in);
void print(ostream&out)const;
private:
string TheHunting;
};
inline HuntingLicense::HuntingLicense(string hunting,string fName,string mName,string lName,int theAge,int theId)
:License()
{
TheHunting=" ";
}

inline HuntingLicense::HuntingLicense(string hunting,string fName,string mName,string lName,int theAge,int theId)
:License(fName,mName,lName,theAge,theId)
{
TheHunting=hunting;
}

inline string HuntingLicense::getTheName()const
{
return TheHunting;
}
inline void HuntingLicense::read(istream&in)
{
cin>>TheHunting;
License::read(in);
}
inline void HuntingLicense::print(ostream&out)const
{
cout<<TheHunting;
License::print(out);
}

错误信息:
huntinglicense.h(15) : error C2084: function '__thiscall HuntingLicense::HuntingLicense(void)' already has a body

我不知道哪错了,知道的指点一下

[此贴子已经被作者于2007-6-24 14:55:06编辑过]

搜索更多相关主题的帖子: 继承 
2007-06-24 14:48
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用a8451727在2007-6-24 14:48:55的发言:

#include"License.h"
#include<string>
class HuntingLicense:public License
{
public:
HuntingLicense()/*{}*/; //这里不要加括号,括号表示定义
HuntingLicense(string hunting,string fName,string mName,string lName,int theAge,int theId);
string getTheName()const;
void read(istream&in);
void print(ostream&out)const;
private:
string TheHunting;
};
inline HuntingLicense::HuntingLicense(string hunting,string fName,string mName,string lName,int theAge,int theId)
:License()
{
TheHunting=" ";
}

inline HuntingLicense::HuntingLicense(string hunting,string fName,string mName,string lName,int theAge,int theId)
:License(fName,mName,lName,theAge,theId)
{
TheHunting=hunting;
}

inline string HuntingLicense::getTheName()const
{
return TheHunting;
}
inline void HuntingLicense::read(istream&in)
{
cin>>TheHunting;
License::read(in);
}
inline void HuntingLicense::print(ostream&out)const
{
cout<<TheHunting;
License::print(out);
}

错误信息:
huntinglicense.h(15) : error C2084: function '__thiscall HuntingLicense::HuntingLicense(void)' already has a body

我不知道哪错了,知道的指点一下


Fight  to win  or  die...
2007-06-24 15:25
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
[CODE]:License()[/CODE]

What is your purpose here? Are you initializing some object in the initializer list?




I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-06-24 15:31
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
以下是引用HJin在2007-6-24 15:31:50的发言:
[CODE]:License()[/CODE]

What is your purpose here? Are you initializing some object in the initializer list?



It means the current class's constructor construct a base class object.
Because of the inheritance.


Fight  to win  or  die...
2007-06-24 15:36
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
呵呵```谢谢了

2007-06-24 15:56
HJin
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:401
专家分:0
注 册:2007-6-9
收藏
得分:0 
thanks aipb2007, got your idea.

I am working on a system which has no Chinese input. Please don\'t blame me for typing English.
2007-06-24 16:00
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
那个括号在什么情况下用或不用的?

2007-06-24 16:17
neverDie
Rank: 1
等 级:新手上路
威 望:1
帖 子:123
专家分:0
注 册:2007-5-5
收藏
得分:0 
以下是引用a8451727在2007-6-24 16:17:48的发言:
那个括号在什么情况下用或不用的?

return_type fun_name(parameter list);
这叫声明,只有函数原形。
return_type fun_name(parameter list)
{
//函数体
}
这叫定义,花括号中是函数体,函数体为空时,这个函数仍然被定义,只是没有功能。

[此贴子已经被作者于2007-6-24 16:28:21编辑过]


2007-06-24 16:27
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 
谢谢大家。

2007-06-24 20:21
a8451727
Rank: 1
等 级:新手上路
帖 子:238
专家分:5
注 册:2007-5-22
收藏
得分:0 

又请问一下大家,我该怎样才能修改下面红色字的那个值?(改成一个新的值)。因为他是继承"BankAccount.h"类的,
所以不懂如何修改,该如何写一个修改器?请大家帮下忙。

#include"BankAccount.h"
class CheckingAccount:public BankAccount
{
public:
CheckingAccount();
CheckingAccount(string theName,string theNumber,double theBalance);
/*例如 theBalance是余额,我想要一个取款或存款的修改器*/
void read(istream&in);
void print(ostream&out)const;
private:
double theBalanceNumber;
};
inline CheckingAccount::CheckingAccount()
:BankAccount()
{
}
inline CheckingAccount::CheckingAccount(string theName,string theNumber,double theBalance)
:BankAccount(theName,theNumber,theBalance)
{
}

[此贴子已经被作者于2007-6-25 21:37:49编辑过]


2007-06-25 21:33
快速回复:[求助]类继承问题,请大家看下,错哪了?找不出来啊。
数据加载中...
 
   



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

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