VC++创建类的对象时的问题?

最先在MFC框架中看到CPaintDCdc(this)了解是指想当先对象但是后来又看到有人写的程序是这样的:CSMTPsmtp(m_sServer);//CSMTP是一个... 最先在MFC框架中看到 CPaintDC dc(this) 了解是指想当先对象
但是后来又看到有人写的程序是这样的 : CSMTP smtp( m_sServer );//CSMTP 是一个类//smtp就是创建的对象//
问题是:m_sServer是另外一个类的成员变量。怎么解释呢?
创建一个类的实例后加个括号,C++书没见过有这么写的啊?这是什么语法啊?
展开
 我来答
guojingcha
2008-04-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1.3万
采纳率:42%
帮助的人:1亿
展开全部
CPaintDC dc(this)
CSMTP smtp( m_sServer )
这两个都是正确的。
两个都是创建一个对象实例。在创建对象时都要调用相应类的构造函数,不同类的构造函数需要的参数是不同的。对于CPaintDC 类来说,构造函数需要的是当前所在对象的指针,所以参数就是this;而对于CSMTP 来说,构造函数所需的参数是服务器,所以就是m_sServer 了。这两个在本质上都是一样的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cbk808
2008-04-11 · TA获得超过383个赞
知道小有建树答主
回答量:479
采纳率:70%
帮助的人:289万
展开全部
1.一个类可以有多个构造函数(参数个数和类型必须有不同的地方)
2.每次创建对象不穿参数进去(没括号)就会自动调用默认构造函数创建对象。
3.在定义构造函数的时候通常他的参数已经设置好默认值了,如果需要就应该显式地传参数给构造函数。CSMTP smtp( m_sServer );就是这样一种调用。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
moxdiamond
2008-04-11 · 超过19用户采纳过TA的回答
知道答主
回答量:83
采纳率:0%
帮助的人:0
展开全部
拷贝构造函数,是编译器会默认创建的4个函数之一,除了参数为同类的引用外,其他同构造函数一样
CSMTP smtp(m_sServer)从语意上来讲是构造一个同m_sServer一样的对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8cff33ea0
2008-04-11 · TA获得超过104个赞
知道小有建树答主
回答量:183
采纳率:0%
帮助的人:149万
展开全部
类的构造函数可以带参数啊,建议你自习看看c++的类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式