第3章 关于类和对象的进一步讨论ok

2026/4/24 13:21:49

执行其中一个。

3.1.6使用默认参数值的构造函数

C++允许在构造函数里为形参指定默认值,如果创建对象时,未给出相应的实参时,系统将用形参的默认值为形参赋值。 格式:

函数名(类型 形参1=常数,类型 形参2=常数,…);

例3.4:将例3.3中的构造函数改用带默认值的参数,长、宽、高的默认值都是10。 #include using namespace std; class Box { public:

Box(int w=10,int h=10,int len=10); int volume(); private: int height; int width; int length; };

Box::Box(int w,int h,int len) {

height=h;

width=w; length=len; }

int Box::volume() {

return(height*width*length); } int main() {

Box box1;

cout<<\体积= \.volume()<

cout<<\体积 \.volume()<

cout<<\体积 \.volume()<

cout<<\体积\.volume()<

程序运行结果为: box1 体积=1000 box2 体积=1500

box3 体积=4500 box4 体积=9000

构造函数也可以改写成带参数初始化表的形式:

Box::Box( int h, int w, int len): height ( h),width(w), length( len ){ } 整个函数只需一行,简单方便。

在构造函数中使用默认参数提供了建立对象的多种选择,它的作用相当于多个重载构造函数。 说明:

(1)如果在类外定义构造函数,应该在声明构造函数时指定默认参数值,在定义函数时可以不再指定默认参数值。 (2)在声明构造函数时,形参名可以省略例如: Box(int =10,int =10,int =10);

(3)如果构造函数的所有形参都指定了默认值,在定义对象时,可以指定实参也可不指定实参。由于不指定实参也可以调用构造函数,因此全部形参都指定了默认值的构造函数也属于默认构造函数。为了避免歧义,不允许同时定义不带形参的构造函数和全部形参都指定默认值的构造函数。

(4)同样为了避免歧义性,如定义了全部形参带默认值的构造函数后,不能再定义重载构造函数。反之亦然。 Box(int =10,int =10,int =10); Box(); Box(int, int );


第3章 关于类和对象的进一步讨论ok.doc 将本文的Word文档下载到电脑
搜索更多关于: 第3章 关于类和对象的进一步讨论ok 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219