用构造函数初始化对象
#include <iostream>
using namespace std;
class Time
{
public:
Time( )
{
hour=0;
minute=0;
sec=0;
}
void set_time( );
void show_time( );
private:
int hour;
int minute;
int sec;
};
void Time::set_time( )
{
cin>>hour;
cin>>minute;
cin>>sec;
}
void Time::show_time( )
{
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
int main( )
{
Time t1;
t1.show_time( );
Time t2;
t1.set_time( );
t2.show_time( );
return 0;
}
在类外定义构造函数
class Time
{
public:
Time( );
void set_time( );
void show_time( );
private:
int hour;
int minute;
int sec;
};
Time::Time( )
{
hour=0;
minute=0;
sec=0;
}
带参数的构造函数
class Time
{
public:
Time();
Time(int,int,int);
void show_time();
private:
int hour;
int minute;
int sec;
};
Time::Time()
{
hour=0;
minute=0;
sec=0;
}
Time::Time(int h,int m,int s)
{
hour=h;
minute=m;
sec=s;
}
int main()
{
Time t1; //不可t1();
t1.show_time();
Time t2(15,39,59);
t2.show_time();
return 0;
}
用参数初始化表对数据成员初始化
方便、简练的写法:用参数初始化表
class Time
{
public:
Time( ):hour(0),minute(0),sec(0){};
Time(int h,int m,int s):hour(h),minute(m),sec(s) {};
……
};
也可以在类外用参数初始化表定义构造函数。
Time::Time(int h,int m,int s):hour(h), minute(m), sec(s){};