标题:初识构造函数
只看楼主
hmsabc
Rank: 2
来 自:贵州省兴义市
等 级:论坛游民
帖 子:97
专家分:19
注 册:2010-8-2
结帖率:100%
 问题点数:0 回复次数: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;                   //私有成员数据之一 
    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 的成员,就不能这种方法初始化了。这时,就要使用构造函数来对数据进行初始化。
构造函数是一种特殊的函数,与其他成员函数不同,不需要用户来调用它,而是在建立对象时自动执行。构造函数的名字
必须与类名同名,而不能由用户任意命名,以便编译系统能识别它并把它作为构造函数处理。它不具有任何类型,不返回任何值。
构造函数的功能是由用户定义的,用户根据初始化的要求设计函数体和函数参数。
*/
搜索更多相关主题的帖子: 函数 构造 初识 
2010-08-03 16:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-314722-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.292242 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved