fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // Violating SRP: One class does multiple tasks (reading, logging, and processing)
  5. class OrderProcessor {
  6. public void processOrder() {
  7. // Process order logic
  8. }
  9.  
  10. public void logOrderDetails() {
  11. // Log order details to a file
  12. }
  13. }
  14.  
  15. // Correct SRP: Separated into two classes, each with a single responsibility
  16. class OrderProcessor {
  17. public void processOrder() {
  18. // Process order logic
  19. }
  20. }
  21.  
  22. class OrderLogger {
  23. public void logOrderDetails() {
  24. // Log order details to a file
  25. }
  26. }
  27.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:6:11: error: expected ‘:’ before ‘void’
     public void processOrder() {
           ^~~~~
           :
prog.cpp:10:11: error: expected ‘:’ before ‘void’
     public void logOrderDetails() {
           ^~~~~
           :
prog.cpp:13:2: error: expected ‘;’ after class definition
 }
  ^
  ;
prog.cpp:16:7: error: redefinition of ‘class OrderProcessor’
 class OrderProcessor {
       ^~~~~~~~~~~~~~
prog.cpp:5:7: note: previous definition of ‘class OrderProcessor’
 class OrderProcessor {
       ^~~~~~~~~~~~~~
prog.cpp:23:11: error: expected ‘:’ before ‘void’
     public void logOrderDetails() {
           ^~~~~
           :
prog.cpp:26:2: error: expected ‘;’ after class definition
 }
  ^
  ;
prog.cpp:26:1: error: multiple types in one declaration
 }
 ^
stdout
Standard output is empty