C++ 将新运算符与对象的非默认构造函数一起使用
我想:C++ 将新运算符与对象的非默认构造函数一起使用,c++,C++,我想: classname* p = new classname(parameter1, parameter2, ...); 创建一个指针,指向使用非默认构造函数初始化的对象,该构造函数的签名为:classnameparameter1,parameter2 谢谢 是的,没错 是的,没错 我自己写得再好不过了——不过记住在完成后删除它,除非你想让堆不开心 我自己写得再好不过了-不过记住在完成后删除它,除非你想让堆不开心 是的,会的。这个程序说明了这个概念 #include <string
classname* p = new classname(parameter1, parameter2, ...);
创建一个指针,指向使用非默认构造函数初始化的对象,该构造函数的签名为:classnameparameter1,parameter2
谢谢 是的,没错
是的,没错
我自己写得再好不过了——不过记住在完成后删除它,除非你想让堆不开心 我自己写得再好不过了-不过记住在完成后删除它,除非你想让堆不开心 是的,会的。这个程序说明了这个概念
#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;
}
是的,会的。这个程序说明了这个概念
#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;
}
是的。但是我可以知道你是怎么想到这个问题的吗?有错误吗?有。但是我可以知道你是怎么想到这个问题的吗?你有错误吗?我不能用超过30个字符回答这个问题。是的,是什么阻止了你的尝试?谢谢!基本问题,我知道,但我不确定D@KerrekSB我确实试过了,但是我的代码中有一个seg错误,我想这个对象可能还没有初始化。查过谷歌找不到,所以我想在这里问一下。再次感谢!我不能用超过30个字符来回答这个问题。是的,是什么阻止了你的尝试?谢谢!基本问题,我知道,但我不确定D@KerrekSB我确实试过了,但是我的代码中有一个seg错误,我想这个对象可能还没有初始化。查过谷歌找不到,所以我想在这里问一下。再次感谢!行。毕竟,我讨厌让这堆人不高兴Pindeded,一个不快乐的堆=一个不快乐的程序员就可以了。毕竟,我讨厌让这堆人不高兴Pindeded,一个不快乐的堆=一个不快乐的程序感谢您编写一个程序来说明这个概念。你真厉害感谢您编写一个程序来说明这个概念。你真厉害D