回 帖 发 新 帖 刷新版面

主题:类中关于构造函数的实现问题

#include<iostream>
using namespace std;
class clock
{
public:
    clock ()
    {
    Hour=0;
    Min=0;
    Sec=0;    
    }
    clock(int NewH,int NewM,int NewS);
    void SetTime(int NewH,int NewM,int NewS);
    void ShowTime();
private:
    int Hour,Min,Sec;
};
void clock::SetTime(int NewH,int NewM,int NewS)
{
    Hour=NewH;
    Min=NewM;
    Sec=NewS;
}
clock::clock(int NewH,int NewM,int NewS)
{
    Hour=NewH;
    Min=NewM;
    Sec=NewS;
}
inline void clock::ShowTime()
{
    cout<<Hour<<":"<<Min<<":"<<Sec<<endl;
}
void main()
{
    clock mytime;
    cout<<"show time:"<<endl;
    mytime.SetTime(0,0,0);
    mytime.ShowTime();
    cout<<"show time:"<<endl;
    mytime.SetTime(14,55,50);
    mytime.ShowTime();
}

如果出去Clock::Clock( int newH , int newM , int newS)这个构造函数的实现,程序依然可以运行,没有影响,那么这个程序段的作用是什么?谢谢!

回复列表 (共3个回复)

沙发

初始化时用。
clock mytime(1,1,1);

板凳


这个是带参数的构造函数

3 楼


在类中你已经声明了Clock::Clock( int newH , int newM , int newS),当你不定义它时,你调用这个函数它是什么事情都不做的,对象里面的数据值是不可预料的。在你程序中如果你把SetTime函数都去掉,你把结果打印出来你就知道了效果了~~

我来回复

您尚未登录,请登录后再回复。点此登录或注册