紧急求助:关于类的构造函数的问题
假如说我的类构造函数有一个参数,比如说TClass(int a);
那么我用new来生成类的时候
如果没有参数就是TClass* pClass = new TClass;
但现在有参数,该如何将参数传递进去呢?
问题点数:10、回复次数:7Top
1 楼lw1a2(一刀 现在改六点下班了:()回复于 2006-11-01 19:26:26 得分 5
TClass* pClass = new TClass(1);Top
2 楼blackmurder(blackmurder)回复于 2006-11-01 19:31:05 得分 0
那样会产生C2664错误啊Top
3 楼lw1a2(一刀 现在改六点下班了:()回复于 2006-11-01 19:34:19 得分 0
贴代码Top
4 楼OOPhaisky(异化$渴望成功~~)回复于 2006-11-01 19:39:41 得分 5
TClass* pClass = new TClass(/*你的参数放在这里*/);Top
5 楼blackmurder(blackmurder)回复于 2006-11-01 19:43:19 得分 0
void CMainFrame::OnFileNew()
{
TClass* TInstance = new TClass(this);
}
TClass::TClass(CWnd* pCWnd)
{
base = new BiTNode;
order = 1;
}
F:\Microsoft Visual Studio\MyProjects\二叉树2\MainFrm.cpp(73) : error C2664: '__thiscall TClass::TClass(const class TClass &)' : cannot convert parameter 1 from 'class CMainFrame *const ' to 'const class TClass &'
Reason: cannot convert from 'class CMainFrame *const ' to 'const class TClass'
No constructor could take the source type, or constructor overload resolution was ambiguous
Top
6 楼taodm((不能收CSDN社区短信息,请莫浪费精力))回复于 2006-11-02 08:36:46 得分 0
TClass* TInstance = new TClass(*this);
楼主怎么不认真看错误信息呢!这不说了参数应该是一个引用,你传了个指针嘛。
Top
7 楼xxyyboy(壮志凌云)(★★★★★)回复于 2006-11-02 14:12:15 得分 0
在一个类中构造和析构是少不了的。
TClass* pClass = new TClass;
函数会调用默认的无参构造函数。
不需要一定要带参数去new. understand?Top




