构造函数与析构函数的调用顺序

//watch.h类定义头文件
class Watch
{
public:
    Watch(char*);
    Watch(clock_t, char*);
    ~Watch( );
    void Start( );
    void Stop( );
    void Show( );
private:
    char name[20];
    double begin;
    double end;
};
//watch.cpp成员函数定义文件(类的实现文件)
#include <iostream.h>
#include <time.h>
#include <string.h>
吴少芳#include "watch.h"
Watch::Watch(char* pName)锻压技术
{
    cout <<"创建Watch类对象" <<pName
<<"并开始计时......" <<endl;
    strncpy(name, pName, sizeof(name)); //给字符数组真菌之怒name
赋值类对象名
    name[sizeof(name)-1]='\0'; //给字符数组的最后一个元素
赋值结束符
北京杂谈    begin=end=0.0; //初始化数据成员beginend
}
Watch::Watch(clock_t t, char* pName)
{
    cout <<"创建Watch类对象" <<pName
<<"并开始计时......" <<endl;
    strncpy(name, pName, sizeof(name)); //给字符数组name
赋值类对象名
    name[sizeof(name)-1]='\0'; //给字符数组的最后一个元素
赋值结束符
    begin=(double)t/CLK_TCK;
    end=0.0;
}
Watch::~Watch( )
{
    cout <<"析构Watch类对象" <<name <<endl;
}
void Watch::Start( )
{
    begin=(double)clock( )/CLK_TCK;
}
void Watch::Stop( )
{玛格丽特阿特伍德
    end=(double)clock( )/CLK_TCK;
    Show( );
}
void Watch::Show( )
{
    cout <<"计时结束。\n消逝的时间为: "
<<(end-begin) <<"杨从保秒\n\n\n";
}
//main.cpp程序人口函数(主函数)
#include <time.h>
#include <conio.h>
#include "watch.h"
#include <iostream.h>
void main( )
{
    Watch s1("s1");
    s1.Start( );
    getch( );
    s1.Stop( );
   
    //Creat object using initial value
    Watch s2(clock( ),"s2");
    getch( );
    s2.Stop( );
    //Creat object using initial value
    Watch s3(clock( ),"s3");
    getch( );
    s3.Stop( );
}
创建Watch类对象s1并开始计时......
计时结束。
消逝的时间为: 7.125
创建Watch类对象s2并开始计时......
计时结束。
消逝的时间为: 7.203
创建Watch类对象s3并开始计时......
计时结束。
消逝的时间为: 6.297
析构Watch类对象s3
析构Watch类对象s2
析构Watch类对象s1
Press any key to continue

本文发布于:2024-09-23 00:29:18,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/435006.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   数组   计时   赋值   文件   成员
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议