Articles of construtor

Criando um object: com ou sem `novo`

Duplicar Possível: Qual é a diferença entre instanciar um object usando novo vs. Esta é provavelmente uma questão básica, e pode já ter sido feita (digamos, aqui ); mas ainda não entendi. Então, deixe-me perguntar. Considere a seguinte class C ++: class Obj{ char* str; public: Obj(char* s){ str = s; cout << str; } […]

Quem elimina a memory alocada durante uma operação “nova” que tem exceção no construtor?

Eu realmente não acredito que não consegui encontrar uma resposta clara para isso … Como você libera a memory alocada depois que um construtor de class C ++ lança uma exceção, no caso em que é inicializado usando o new operador. Por exemplo: class Blah { public: Blah() { throw “oops”; } }; void main() […]

Como posso usar a lista de boot de membros para inicializar uma matriz?

class A { public: A(); private: char a[5]; int* ptr; }; A::A() : a(0), ptr(0) { } Isto está certo?

Como eu chamo o construtor da class base?

Eu gastei muita programação em Java. Lá você chama a class que herdou de super(); (todos vocês provavelmente sabem disso) Agora eu tenho uma class em C ++ que tem um construtor padrão que leva alguns argumentos. Exemplo: class BaseClass { public: BaseClass(char *name); …. Se eu herdar a class, isso me dará o aviso […]

Existe um construtor padrão implícito em C ++?

No livro que estou lendo no momento ( C ++ Without Fear ) ele diz que se você não declarar um construtor padrão para uma class, o compilador fornece um para você, que “zera cada membro de dados”. Eu experimentei isso, e não estou vendo nenhum comportamento de zerar. Eu também não consigo encontrar nada […]

Acessar a dependência injetada no construtor do bean gerenciado causa o NullPointerException

Estou tentando injetar um DAO como uma propriedade gerenciada. public class UserInfoBean { private User user; @ManagedProperty(“#{userDAO}”) private UserDAO dao; public UserInfoBean() { this.user = dao.getUserByEmail(“test@gmail.com”); } // Getters and setters. } O object DAO é injetado depois que o bean é criado, mas é null no construtor e, portanto, causando NullPointerException . Como posso […]

Qual é o construtor padrão para o ponteiro C ++?

Eu tenho código assim: class MapIndex { private: typedef std::map Container; Container mapM; public: void add(std::list& values) { if (values.empty()) // sanity check return; std::string s(*(values.begin())); values.erase(values.begin()); if (values.empty()) return; MapIndex *mi = mapM[s]; // add(values); } } A principal preocupação que tenho é se a expressão mapM [s] retornaria uma referência a um ponteiro […]

Usando a reflection C # para chamar um construtor

Eu tenho o seguinte cenário: class Addition{ public Addition(int a){ a=5; } public static int add(int a,int b) {return a+b; } } Eu estou chamando add em outra class por: string s=”add”; typeof(Addition).GetMethod(s).Invoke(null, new object[] {10,12}) //this returns 22 Eu preciso de uma maneira semelhante à declaração de reflection acima para criar um novo object […]

Chamando o método virtual no construtor da class base

Eu sei que chamar um método virtual de um construtor de class base pode ser perigoso, pois a class filha pode não estar em um estado válido. (pelo menos em c #) Minha pergunta é se o método virtual é aquele que inicializa o estado do object? É uma boa prática ou deve ser um […]

Qual código de configuração deve ir em Form Constructors versus Form Load event?

Para aplicativos winforms estou querendo saber o código de instalação deve ir: MainForm () ao contrário de MainForm_Load (remetente do object, EventArgs e) Existe alguma diretriz de melhores práticas aqui?