GetCurrentTime函数问题

ArdourCareful 2011-10-09 12:25:28
CTime t = CTime::GetCurrentTime();这个语句不是创建类CTime的对象t吗.为什么后面跟的不是构造函数而是CTimCTime::GetCurrentTime();呢???不懂求解.

还有类似的问题如:int nYear = COleDateTime::GetCurrentTime().GetYear();等号后面的语句,成员函数之间可以相与调用吗,我只知道该类的对象可以调用类中的成员函数,如:COleDateTime tt;tt.GetYear();

请大虾们解答.
...全文
354 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharptiger123 2011-10-10
  • 打赏
  • 举报
回复
得到计算机当前时间 年月日时分秒
呔妖怪来嘛 2011-10-10
  • 打赏
  • 举报
回复
可GetCurrentTime()返回值是Call this static member function to return the current date/time value 最近的日期或时间啊.这是MSDN中的原话.

——————
这句话能说明什么
Quab 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ardourcareful 的回复:]

引用 2 楼 hedengxiang2011 的回复:
CTime t 构造一个对象t, CTime::GetCurrentTime();获取当前时间,并封装到一个CTime对象中,
可以把CTime t = CTime::GetCurrentTime();分解成:
CTime t;
t = CTime::GetCurrentTime();

这样就比较好理解了。。。

int ……
[/Quote]

这是个静态函数,静态函数和全局函数一样,调用时,这个函数内部会new一个Ctime对象,同时用当前的时间初始化这个对象,并把构造好的对象给t

msdn上这样描述的:说明这个对象是这个函数内部就创建好了的
Returns a CTime object that represents the current time.
ArdourCareful 2011-10-10
  • 打赏
  • 举报
回复
回3楼,您好!
针对你这句话:成员函数之间可以相与调用吗
不是成员函数之间可以相互调用,而是COleDateTime::GetCurrentTime()返回了一个临时COleDateTime对象,所以可以COleDateTime::GetCurrentTime().GetYear(); c++里面可以这么做



可GetCurrentTime()返回值是Call this static member function to return the current date/time value 最近的日期或时间啊.这是MSDN中的原话.
ArdourCareful 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hedengxiang2011 的回复:]
CTime t 构造一个对象t, CTime::GetCurrentTime();获取当前时间,并封装到一个CTime对象中,
可以把CTime t = CTime::GetCurrentTime();分解成:
CTime t;
t = CTime::GetCurrentTime();

这样就比较好理解了。。。

int nYear = COleDateTime::GetCurre……
[/Quote]
您的意思是:COleDateTime::GetCurrentTime();就是个类对象,从哪知道它以封装成一个对象呢?
hedengxiang 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ardourcareful 的回复:]
引用 2 楼 hedengxiang2011 的回复:
CTime t 构造一个对象t, CTime::GetCurrentTime();获取当前时间,并封装到一个CTime对象中,
可以把CTime t = CTime::GetCurrentTime();分解成:
CTime t;
t = CTime::GetCurrentTime();

这样就比较好理解了。。。

int n……
[/Quote]


不是说COleDateTime::GetCurrentTime();是一个类对象,而是这个函数返回值是一个类对象……
hsphsphsp 2011-10-10
  • 打赏
  • 举报
回复
理解静态函数就可以了。
呔妖怪来嘛 2011-10-09
  • 打赏
  • 举报
回复
CTime::GetCurrentTime
static CTime PASCAL GetCurrentTime( );

COleDateTime::GetCurrentTime
static COleDateTime PASCAL GetCurrentTime( );
都是静态的

gameslq 2011-10-09
  • 打赏
  • 举报
回复
>>为什么后面跟的不是构造函数而是CTimCTime::GetCurrentTime();
看看CTimCTime类关于成员函数GetCurrentTime的定义:

static CTime PASCAL GetCurrentTime();

是静态成员函数,类不实例化就可以调用该函数,假设你要用构造函数来获取当前时间,比这麻烦多了
>>成员函数之间可以相与调用吗
不是成员函数之间可以相互调用,而是COleDateTime::GetCurrentTime()返回了一个临时COleDateTime对象,所以可以COleDateTime::GetCurrentTime().GetYear(); c++里面可以这么做
hedengxiang 2011-10-09
  • 打赏
  • 举报
回复
CTime t 构造一个对象t, CTime::GetCurrentTime();获取当前时间,并封装到一个CTime对象中,
可以把CTime t = CTime::GetCurrentTime();分解成:
CTime t;
t = CTime::GetCurrentTime();

这样就比较好理解了。。。

int nYear = COleDateTime::GetCurrentTime().GetYear();
同样的,这条语句可以分解成:
COleDateTime tt;
tt = COleDateTime::GetCurrentTime();
int nYear = tt.GetYear();


自己去理解一下静态方法(函数)的作用,以及调用方式……

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧