C++ 为什么说我定义的 函数 是 非法 的

我在C++中新添加个类,类的类型是GenericClass类名CClient我在类中定义函数,“intHaveName(CStringcCname)”代码如下classC... 我在C++中新添加个类,类的类型是Generic Class类名CClient
我在类中定义函数,“int HaveName(CString cCname)”
代码如下
class CClient
{
public:
CClient();
virtual ~CClient();
int HaveName(CString cCname);

};
然后在CClient中添加此代码,调试运行后发现有一错误,提示为“‘HaveName’:local function definitions are illegal”
为什么说我定义的函数是非法的
我是按书上要求的函数名啊。
代码如下:
CClient::CClient()
{
int CClient::HaveName(CString cCname)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL="SELECT * FROM Client WHERE Cname=" + cCname+ "";
//执行SELECT句语
_RecordsetPtr m_pRecordset;
m_pRecordset=m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->adoEOF==1)
return -1;
else
return 1;
//断开数据库的连接
m_AdoConn.ExitConnect();
}

}

CClient::~CClient()
{

}
你刚说
“你把HaveName的实现放到了构造函数中了
把它从构造函数CClient中抽出来单独成为一个函数。”

我把那实行的放在构造函数中了
代码如下:
class CClient
{
public:
CClient();
virtual ~CClient();
};

int CClient::HaveName(CString cCname)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL="SELECT * FROM Client WHERE Cname=" + cCname+ "";
//执行SELECT句语
_RecordsetPtr m_pRecordset;
m_pRecordset=m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->adoEOF==1)
return -1;
else
return 1;
//断开数据库的连接
m_AdoConn.ExitConnect();
} ;

上面的代码放的正确不?

可你的第二句话我就不明白了,请问如何把它从构造函数CClient中抽出来单独成为一个函数

我是新人有很多都不懂,帮忙写下具体的代码吧,很感谢啊。我这也是急着要用的。
展开
 我来答
SinbadLee
2008-10-25 · TA获得超过309个赞
知道小有建树答主
回答量:302
采纳率:0%
帮助的人:133万
展开全部
你把HaveName的实现放到了构造函数中了
把它从构造函数CClient中抽出来单独成为一个函数。
class CClient
{
public:
CClient();
virtual ~CClient();

int HaveName(CString cCname); //这里申明函数
};

CClient::CClient()
{
//你原来将HaveName的实现放到这里了,应该放到后面去
}

CClient::~CClient()
{

}

//这里实现函数
int CClient::HaveName(CString cCname)
{
//连接数据库
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
//设置SELECT语句
_bstr_t vSQL;
vSQL="SELECT * FROM Client WHERE Cname=" + cCname+ "";
//执行SELECT句语
_RecordsetPtr m_pRecordset;
m_pRecordset=m_AdoConn.GetRecordSet(vSQL);
//返回各列的值
if (m_pRecordset->adoEOF==1)
return -1;
else
return 1;
//断开数据库的连接
m_AdoConn.ExitConnect();
} ;
lishitao0915
2008-10-25 · TA获得超过234个赞
知道小有建树答主
回答量:960
采纳率:0%
帮助的人:556万
展开全部
CClient::CClient()
{
int CClient::HaveName(CString cCname)
这是什么?CClient() 函数里定义HaveName(CString cCname) 这个函数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式