fork(1) download
  1.  
  2. //Date.cc
  3.  
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. class Date {
  8. int d, m, y;
  9. static Date today; //(A)
  10. public:
  11. Date( int dd = 0, int mm = 0, int yy = 0 );
  12. static void setToday(int, int, int); //(B)
  13. static Date getToday(); //(C)
  14. void print() {
  15. cout << "day: " << d << " month: " << m
  16. << " year: " << y << endl;
  17. }
  18. };
  19.  
  20. Date::Date( int dd, int mm, int yy ) {
  21. d = dd ? dd : today.d;
  22. m = mm ? mm : today.m;
  23. y = yy ? yy : today.y;
  24. }
  25.  
  26. void Date::setToday( int dd, int mm, int yy ) { //(D)
  27. today = Date(dd, mm, yy);
  28. }
  29. int Date::getToday(){
  30. return today;
  31. }
  32.  
  33. Date Date::today( 31, 10, 2001 ); //(E)
  34.  
  35. int main()
  36. {
  37. Date d1( 1, 1, 1970);
  38. d1.print(); //day: 1 month: 1 year: 1970
  39. Date d2( 2 );
  40. d2.print(); //day: 2 month: 10 year: 2001
  41. Date::setToday(3, 4, 2000); //(F)
  42. Date::getToday().print(); //day: 3 month: 4 year: 2000 //(G)
  43. Date d3( 7 );
  44. d3.print(); //day: 7 month: 4 year: 2000
  45. Date d4 = Date();
  46. d4.print(); //day: 3 month: 4 year: 2000
  47. return 0;
  48. }
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:29:5: error: prototype for ‘int Date::getToday()’ does not match any in class ‘Date’
 int Date::getToday(){
     ^~~~
prog.cpp:13:17: error: candidate is: static Date Date::getToday()
     static Date getToday();                    //(C)
                 ^~~~~~~~
stdout
Standard output is empty