语句 Rational r1,r2(1,4),r4 = 4,*a[2];中调用了 ( )次 Rational 的构 造函数?为什么
时间: 2023-09-17 15:05:42 浏览: 121
### 回答1:
r1、r2(1,4)、r4 = 4 这三行语句中调用了两次 Rational 的构造函数。其中,r2(1,4) 调用了一次构造函数,r4 = 4 调用了另一次构造函数。
因为 r1 和 r4 都是 Rational 类型的变量,在定义这两个变量时都需要调用 Rational 的构造函数来初始化这两个变量。r2(1,4) 同样调用了构造函数,因为它是在定义 r2 变量的同时调用构造函数来初始化 r2 变量。
### 回答2:
在语句 Rational r1,r2(1,4),r4 = 4,*a[2]; 中调用了 2 次 Rational 的构造函数。
首先,在 r2(1,4) 这个语句中,调用了一次 Rational 的构造函数。这是因为在创建对象 r2 的时候,需要调用 Rational 类的构造函数进行对象的初始化。在这里,传入了两个参数 1 和 4,表示要创建一个分子为 1,分母为 4 的有理数对象。
其次,在 r4 = 4 这个语句中,也调用了一次 Rational 的构造函数。这是因为在将整数 4 赋值给对象 r4 的时候,需要进行类型转换,将整数转化为有理数形式。这时,需要调用 Rational 类的构造函数来创建一个有理数对象,并将整数 4 赋值给其分子。
至于 *a[2] 这部分,根据给出的代码无法判断具体情况,无法确定是否调用了 Rational 构造函数。
### 回答3:
语句 Rational r1,r2(1,4),r4 = 4,*a[2] 中调用了两次 Rational 的构造函数。
第一次调用是在 r2(1,4) 中,这是一个对象的声明和初始化语句,创建了一个名为 r2 的 Rational 对象,并传入了参数 1 和 4,用于初始化该对象。
第二次调用是在 r4 = 4 中,这是一个对象的赋值语句,创建了一个名为 r4 的 Rational 对象,并使用默认的构造函数初始化了该对象,然后将其赋值为 4。
*a[2] 表示 a 是一个指针数组,数组中有两个指针元素。如果在这个语句中有调用构造函数的话,那么应该是在对指针数组中的元素进行初始化时进行的。然而,在给指针赋值之前,不会调用构造函数。所以,这句话中没有调用 Rational 的构造函数。
综上所述,语句 Rational r1,r2(1,4),r4 = 4,*a[2] 中调用了两次 Rational 的构造函数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)