动态申请对象存储单元,调用一个带参构造函数的格式
时间: 2023-07-14 16:14:12 浏览: 141
动态申请对象存储单元并调用带参构造函数的格式如下:
```
Classname* obj = new Classname(arg1, arg2, ...);
```
其中,`Classname`为类名,`arg1`, `arg2`等为构造函数参数。这条语句会在堆上分配一块内存空间,并调用`Classname`类的带参构造函数初始化该对象。返回值是一个指向该对象的指针。需要注意的是,使用完该对象后,需要使用`delete`关键字手动释放所申请的内存空间,否则会导致内存泄漏。
相关问题
有如下的类定义: class Sample { public: Sample( ); Sample(int x ); ...... }; 动态申请对象存储单元,调用无参构造函数的语句是()。 A.Sample *a=new Sample; B.Sample *a=new Sample(2); C.Sample a=new Sample; D.Sample a=new Sample( );这道题选哪个选项 为甚恶魔
这道题的正确选项是:
A. Sample *a = Sample;
这是动态申请对象存储单元并调用无参构造函数的语句。使用关键字`new`动态分内存,并调用类的无参构函数来创建对象。然后将对象的赋给指针变量`a`。
选项的解释如下:
B Sample *a = new Sample2);
这是动申请对象存储单元并调带有一个整数参数的构造函数的语句。
C. Sample a = new Sample;
这不是动态申请对象存储单元的语句。同时,使用了错误的语法,应该是`Sample *a = new Sample;`才正确。
D. Sample a = new Sample( );
这也不是动态申请对象存储单元的语句。同时,使用了错误的语法,应该是`Sample *a = new Sample;`才正确。
阅读全文