#include <iostream> using namespace std; class Test { private: int x; public: Test(int x) { this->x=x; } void show(){ cout<<x<<endl; } }; int main(){ Test b=(2,3,55); b.show() ; return 0; }为什么b中x会是55呢
时间: 2024-04-22 19:22:42 浏览: 54
#include <iostream>
在这段代码中,`Test b=(2,3,55);`这一行代码其实是利用了逗号运算符。在C++中,逗号运算符可以连续使用,每个逗号之间的表达式都会被计算,但整个表达式的值只取最后一个表达式的值。
因此,`(2,3,55)`表达式中,逗号运算符会先计算`2,3`,但是这个表达式没有任何作用,然后再计算`55`,将其作为参数传递给`Test`类的构造函数。因此,创建对象`b`时,传递给构造函数的参数是`55`,所以`b`中的`x`值是`55`。
阅读全文