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

2026/1/27 7:09:45

构造函数Box有3个参数,分别代表长、宽、高。在主函数中定义对象box1时,指定了实参12,25,30。然后调用成员函数计算长方体的体积。

程序运行的结果如下: box1体积= 9000 box2体积= 9450 提醒:

(1)带形参的构造函数在定义对象时必须指定实参 (2)用这种方法可以实现不同对象的初始化。

3.1.4用参数初始化表对数据成员初始化

C++提供了参数初始化表的方法对数据成员初始化。这种方法不必在构造函数内对数据成员初始化,在函数的首部就能实现数据成员初始化。

函数名(类型1 形参1,类型2 形参2)名2(形参2){ }

成员名1(形参1),成员

功能:执行构造函数时,将形参1的值赋予成员1,将形参2的值赋予成员2,形参的值由定义对象时的实参值决定。 此时定义对象的格式依然是带实参的形式: 类名 对象名( 实参1,实参2); 例:定义带形参初始化表的构造函数

Box::Box( int h, int w, int len): height ( h),width(w), length( len ){ } 定义对象: Box box1(12,25,30); …

Box box2(15,30,21);

3.1.5构造函数的重载

构造函数也可以重载。一个类可以有多个同名构造函数,函数参数的个数、参数的类型各不相同。

例3.3:在例3.2的基础上定义两个构造函数其中一个无参数,另一个有参数。 #include 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;

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

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

例子中定义了两个构造函数,一个无参数另一个带三个参数。系统根据定义对象的格式决定调用哪个构造函数。对象box1没有实参系统为它调用无参数的构造函数;对象box2带三个实参系统为它调用带形参的构造函数。 说明:

(1)不带形参的构造函数为默认构造函数每个类只有一个默认构造函数,如果是系统自动给的默认构造函数,其函数体是空的。 (2)虽然每个类可以包含多个构造函数,但是创建对象时,系统仅


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

下载本文档需要支付 10

支付方式:

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

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