
//构造函数的作用:主要是用来对成员函数赋初值
#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;
}
//Time::Time( ) // 类外定义构造函数
//{
// hour=0;
// minute=0;
// sec=0;
//}
int main( )
{
Time t1; //建立对象 t1,同时调用构造函数 t1.Time( ),即是给 t1 对象赋初值
t1.set_time( ); //对 t1 的数据成员赋值
t1.show_time( ); //输出 t1 的数据成员的值
Time t2; //输出 t2 的数据成员的值,因为没有赋新值,所以其值应为初始值
t2.show_time( );
system("pause");
return 0;
}
/*
注意类的数据成员是不能在声明时初始化的,因为类并不是一个实体,并不占存储空间,因此不能容纳数据。
如果一个类中所有成员都是公用的,则可以在定义对象时对数据成员进行初始化。但是,如果数据成员是私有的,或者类中有
private 或 protected 的成员,就不能这种方法初始化了。这时,就要使用构造函数来对数据进行初始化。
构造函数是一种特殊的函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。构造函数的名字
必须与类名同名,而不能由用户任意命名,以便编译系统能识别它并把它作为构造函数处理。它不具有任何类型,不返回任何值。
构造函数的功能是由用户定义的,用户根据初始化的要求设计函数体和函数参数。
*/
#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;
}
//Time::Time( ) // 类外定义构造函数
//{
// hour=0;
// minute=0;
// sec=0;
//}
int main( )
{
Time t1; //建立对象 t1,同时调用构造函数 t1.Time( ),即是给 t1 对象赋初值
t1.set_time( ); //对 t1 的数据成员赋值
t1.show_time( ); //输出 t1 的数据成员的值
Time t2; //输出 t2 的数据成员的值,因为没有赋新值,所以其值应为初始值
t2.show_time( );
system("pause");
return 0;
}
/*
注意类的数据成员是不能在声明时初始化的,因为类并不是一个实体,并不占存储空间,因此不能容纳数据。
如果一个类中所有成员都是公用的,则可以在定义对象时对数据成员进行初始化。但是,如果数据成员是私有的,或者类中有
private 或 protected 的成员,就不能这种方法初始化了。这时,就要使用构造函数来对数据进行初始化。
构造函数是一种特殊的函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。构造函数的名字
必须与类名同名,而不能由用户任意命名,以便编译系统能识别它并把它作为构造函数处理。它不具有任何类型,不返回任何值。
构造函数的功能是由用户定义的,用户根据初始化的要求设计函数体和函数参数。
*/