Object-Oriented Programming in C++

Code display of PL9/namespaceright.cpp

// PL9/namespaceright.cpp
// User defined namespaces and resolution
// Niels Walet, Last modified 06/01/2022
#include<iostream>
namespace namespace1 {
  const double ab{1.5};
  class my_class
  {
  private:
    int x;
  public:
    my_class() : x{} {} 
    my_class(int xx) : x{xx} {}
    ~my_class(){}
    void show(){std::cout<<"x="<<x<<std::endl;}
  };
}
namespace namespace2
{
  const double ab{2.5};
  class my_class
  {
  private:
    int x,y;
  public:
    my_class() : x{},y{} {} // shorter method!
    my_class(int xx, int yy) : x{xx},y{yy} {}
    ~my_class(){}
    void show(){std::cout<<"x="<<x<<", y="<<y<<std::endl;}
  };
}
int main()
{
  namespace1::my_class c1{1}; // utilizes my_class from namespace1
  c1.show();
  namespace2::my_class c2{1,2}; // now different my_class from namespace2
  c2.show();
  return 0;
}
Download here; To copy and paste: double click inside code, then copy.