2012-03-01 73 views
2

會是這樣的:classname(parameter1, parameter2, ...)使用new運算符與對象的非默認構造函數

classname* p = new classname(parameter1, parameter2, ...); 

創建一個指向對象的指針使用帶有簽名非默認構造函數初始化?

謝謝!

+4

是.............. – 2012-03-01 06:45:54

+4

我無法用超過30個字符回答此問題。 「是」 – 2012-03-01 06:46:49

+0

什麼阻止了你嘗試? – 2012-03-01 06:50:24

回答

3

是的,這是正確的。



+0

非常感謝! – vanchagreen 2012-03-01 07:03:29

1

不可能把它更好的自己 - 記得刪除它時,它雖然完成了,除非你想堆不爽!

+0

會做。畢竟,討厭堆堆不開心。 :p – vanchagreen 2012-03-01 07:03:55

+0

事實上,一個不愉快的堆=一個不愉快的程序員 – 2012-03-01 09:32:45

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 
+0

感謝您編寫程序來說明這個概念。你搖滾! :d – vanchagreen 2012-03-01 07:14:10

0

是它。但我可以知道你的想法是怎麼回事?你有一些錯誤?

相關問題