演员类型之间的差异

时间:2013-12-08 04:20:46

标签: c++ function int

这两者之间究竟有什么区别: 两者都是整数 int x;

x(0) 

int x = 0

它们是否相同,如果不是为什么?

编辑:

处理继承问题。你有这样的东西:

class A{
protected:

int x;

public:

A() : x(0) {};
void show  {cout << "x" << x;     }



};



Class B {
protected:
int y;
public:
B()  {x = 0; y = 2; }

void show  {cout << "x" << x << "y" << y;    }


};

x(0)合法吗?请澄清。

1 个答案:

答案 0 :(得分:1)

没有区别,也在C ++ 0X中:X{0}

从技术上讲,它们不是类型,它们是初始化或构造。

int x = 0将调用int(0),因此它是构造函数调用而不是赋值。