标题:构造函数的重载
只看楼主
hmsabc
Rank: 2
来 自:贵州省兴义市
等 级:论坛游民
帖 子:97
专家分:19
注 册:2010-8-2
结帖率:100%
已结贴  问题点数:10 回复次数:2 
构造函数的重载
程序代码:
//构造函数的重载
/*在一个类中可以定义多个构造函数,以便对类对象提供不同的初始化的方法,供用户选用。这些构造函数具有相同的名字,
而参数的个数或参数的类型不相同。这称为构造函数的重载。*/

#include<iostream>
using namespace std;
class Box
{
public:
    Box( );                                                        //申明一个无参数的构造函数
    Box( int h, int w,int len):height(h),width(w),length(len){};   //申明一个有参数的构造函数,并初始化
    int volume( );
private:
    int height;
    int width;
    int length;
};
Box::Box( )                     //定义一个无参的构造函数
{  height=10;
   width=10;
   length=10;
}

int Box::volume( )                //定义计算体积的函数
{
    return(height*width*length);
}
int main( )
{
    Box box1;                   //建立对象 box1 ,不指定参数
    cout<<"The volume of box1 is "<<box1.volume( )<<endl;
    Box box2(15,30,25);            //建立对象 box2 ,指定三个实参
    cout<<"The volume of box2 is "<<box2.volume( )<<endl;
    system("pause");
    return 0;
}
/*
1、无参的构造函数,称为默认构造函数,一个类只能有一个默认构造函数。如果用户希望在创建对象时就能使数据成员有初始值,
就必须自己定义构造函数;
2、在程序中不能出现调用无参构造函数(如 Box( )),请记住:构造函数是不能被用户显式调用的。*/
搜索更多相关主题的帖子: 函数 构造 重载 
2010-08-03 23:16
ragnaros
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:15
专家分:105
注 册:2010-7-26
得分:5 
写得很清晰啊
2010-08-04 20:07
mghxz252
Rank: 2
等 级:论坛游民
帖 子:40
专家分:60
注 册:2010-1-18
得分:5 
让新手一看就很明白,谢谢了
2010-08-04 20:47



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




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

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