#include <iostream>

struct S
{
  void print() const { std::cout << "const method" <<std::endl; };
  void print()       { std::cout << "non-const method" <<std::endl; };
};

int main()
{
  S const s1;
  s1.print(); // prints "const method"
  S s2;
  s2.print(); // prints "non-const method"
  return 0;
};