请解释默认构造函数(int = 10)

时间:2015-03-08 16:43:57

标签: arrays class constructor operators overloading

class Array
{
public:

Array(int = 10); // default constructor
~Array(); // destructor

protected:

int size; // number of elements in the Array
int *ptr; // address of dynamically allocated memory
};

有人可以用一个例子来解释默认构造函数(int = 10)的含义吗?另外,如何使用Array类型创建一个新对象并自动为其赋值。

1 个答案:

答案 0 :(得分:0)

我会回答您的第一个问题,并希望您更多地询问您将如何解决第二个问题。除非您完成编译问题,否则您无法获得解决任何其他计算机问题所需的愿景。

在下面的代码中,

`Array(int size = 10)` has been written. It means that during construction of the object of class Array, it needs a parameter of `int` type but even if you fail to give the parameter, it would construct the object with `size=10`. This overwrites the "Zero Initialization" behavior to "Default Initialization". 

此外,

`Array(int=10), Array(int='a')`, these are similar as `Array()`

如果您有任何问题,请找到以下代码并告诉我们。我再次希望你自己在第二部分进一步询问。概括你回答并尝试在谷歌上通过。

#include <iostream>
using namespace std;

class Array
{
public:

Array(int='a')// default constructor
{
    this->size = size;
} 
~Array() // destructor
{

}
int getSize()
{
 return size;
}
protected:

int size; // number of elements in the Array
int *ptr; // address of dynamically allocated memory
};

int main()
{
    Array one;
    cout<<one.getSize();
    return 0;
}

希望这有帮助