class Foo
{
public:
// single parameter constructor, can be used as an implicit conversion
Foo (int foo) : m_foo (foo)
{
}
int GetFoo () { return m_foo; }
private:
int m_foo;
};
m_foo is an integer as defined in private section, but what's m_foo(foo)? that looks like a function.
is m_foo both an integer and a function? How does that work?
And Foo(int foo) contructor is extending the m_foo function.