O.k. zie ik, dank voor het posten van de kopballen. :)
Deze code maakt duidelijk dingen, eigenlijk zijn enige 1 klasse nodig te ingewikkeld, eerder dan 3.
Laat vraag het „Proces“:
klassen Proces
{
publiek:
Proces (norm:: wstring executable_name_, norm:: het wstring command_line_);
~Process (leegte);
nietige StartProcess ();
privé:
nietige CreateProcessAsActiveSession ();
bool GetActoveConsoleSessionId (DWORD& session_id);
privé:
norm:: het wstring executable_name_;
norm:: het wstring command_line_;
};
De lid-functie „StartProcess“ behoort in deze klasse, omdat allen het in termen van gegevens vereist, hier is.
U ziet het al functionaliteit, als 3 klassen heeft, maar het kapselt de gegevens en de functies in die op dat gegeven in 1 plaats werken. Dat is wat door „Inkapseling“ in termen van oO-Programmeert wordt bedoeld.
Plus het heeft een schonere interface en is gemakkelijker te gebruiken.
Misschien maakt het het duidelijker, als u over het toevoegen van nieuwe functionaliteit, als KillProcess en anderen denkt, zij allen behoort in deze klasse. Houd de gegevens en de functies die samen op dat gegeven in 1 plaats werken.