public cl(int x = 10, int y = 20)
When you define some values in the constructor, you are indirectly defining optional parameters in .Net 4.0.
Thus your code works.
AFAIK, if you were using .Net 3.0, you would have got an error.
Read about optional arguments
here[
^].