错误的做法:
class Time
{
hour=0;
minute=0;
sec=0;
}//因为类是一种抽象类型,并不是一个实体,并且不占存储空间,显然无处容纳数据。
正确的做法:
#include<iostream>
using namespace std;
class Time
{
public:
Time()
{
hour = 0;
minute = 0;
sec = 0;
}
void set_time();
void show_time();
private:
int hour, minute, sec;
};
void Time::set_time()
{
cin >> hour>>minute>>sec;
}
void Time::show_time()
{
cout << hour <<":"<< minute <<":" << sec << '\n';
}
int main()
{
Time t1;
t1.set_time();
t1.show_time();
Time t2;
t2.show_time();
return 0;
}//虽然用成员函数也可以对对象的数据成员赋初值,当一个类定义了多个对象,
而且类中的数据成员比较多时,这种方法就显得臃肿了,所以构造函数是一种较方便的方法,
它是一种特殊的成员函数,当对象被建立时,自动执行。
转载于:https://blog.51cto.com/10602803/1683034