免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1614 | 回复: 6

[C++] [c->c++]问题1:是不是构造函数啊???? [复制链接]

论坛徽章:
0
发表于 2012-11-28 23:53 |显示全部楼层
这个类中的BasicTaskScheduler()是不是构造函数啊,为什么它被creatNew()调用?


  1. class BasicTaskScheduler: public BasicTaskScheduler0 {
  2. public:
  3.   static BasicTaskScheduler* createNew();
  4.   virtual ~BasicTaskScheduler();

  5. protected:
  6.   BasicTaskScheduler();
  7.       // called only by "createNew()"

  8. protected:
  9.   // Redefined virtual functions:
  10.   virtual void SingleStep(unsigned maxDelayTime);

  11.   virtual void setBackgroundHandling(int socketNum, int conditionSet, BackgroundHandlerProc* handlerProc, void* clientData);
  12.   virtual void moveSocketHandling(int oldSocketNum, int newSocketNum);

  13. protected:
  14.   // To implement background operations:
  15.   int fMaxNumSockets;
  16.   fd_set fReadSet;
  17.   fd_set fWriteSet;
  18.   fd_set fExceptionSet;
  19. };
复制代码
  1. BasicTaskScheduler* BasicTaskScheduler::createNew() {
  2.         return new BasicTaskScheduler();
  3. }
复制代码
return new BasicTaskScheduler()  
new一个函数吗???看不懂啊。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
发表于 2012-11-29 10:18 |显示全部楼层
new BasicTaskScheduler(),new一个对象

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-10-21 06:20:00
发表于 2012-11-29 11:14 |显示全部楼层
单个实例?

论坛徽章:
0
发表于 2012-11-29 12:43 |显示全部楼层
不是单实例,每次调createNew都创建对象啊。构造函数,这是简单术语,建议看书来得快些。

论坛徽章:
1
巨蟹座
日期:2014-03-18 23:44:30
发表于 2012-11-29 12:49 |显示全部楼层
很正常啊,调用 CreateNew 就是为了 new 一个对象出来。
BasicTaskScheduler *p;  //这是并没有调用构造函数生成对象
p = p->createNew() ; //此时才生成

论坛徽章:
0
发表于 2012-11-29 13:19 来自手机 |显示全部楼层
严格意义,不能说是

论坛徽章:
0
发表于 2012-11-29 13:42 |显示全部楼层
factory pattern
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP