A aprovação I considera, agradecimentos para afixar os encabeçamentos. :)
Este código está complicando demasiadamente claramente coisas, realmente sua somente 1 classe necessário, um pouco do que 3.
Deixa a chamada ele “processo”:
processo da classe
{
público:
Processo (STD:: executable_name_ wstring, STD:: command_line_ wstring);
~Process (vácuo);
StartProcess vago ();
confidencial:
CreateProcessAsActiveSession vago ();
bool GetActoveConsoleSessionId (session_id de DWORD&);
confidencial:
STD:: executable_name_ wstring;
STD:: command_line_ wstring;
};
A membro-função “StartProcess” pertence nesta classe, porque tudo que precisa nos termos dos dados, está aqui.
Você vê que tem toda a funcionalidade, como as 3 classes, mas encapsulates os dados e as funções que operam sobre esses dados em 1 lugar. Aquele é o que é significado pela “capsulagem” nos termos da OO-Programação.
Positivo tem uma relação mais limpa e é mais fácil usar-se.
Talvez faz-lhe o esclarecedor, se você pensa sobre a adição de funcionalidades novas, como KillProcess e outro, eles que todos pertencem nesta classe. Manter os dados e as funções que operam sobre esses dados junto em 1 lugar.