会是这样的:
classname* p = new classname(parameter1, parameter2, ...);
创建一个指向使用带有签名的非默认构造函数初始化的对象的指针:classname(parameter1, parameter2, ...)
?
谢谢!
答案 0 :(得分:3)
是的,这是正确的。
答案 1 :(得分:1)
自己不能把它变得更好 - 记得在完成它之后删除它,除非你想让堆不开心!
答案 2 :(得分:0)
是的,它会的。该计划说明了这一概念。
#include <string>
#include <iostream>
class Foo
{
private:
std::string name;
public:
Foo() : name("default"){}
Foo(std::string Name): name(Name) {}
void Print() { std::cout << name << std::endl; }
};
int main ()
{
Foo* foo = new Foo();
foo->Print();
delete foo;
foo = new Foo("special");
foo->Print();
delete foo;
}
输出结果为:
default
special
答案 3 :(得分:0)
是的。但我可能知道这个问题是怎么回事的吗?你有一些错误吗?