上图的class A写过来是为了方便,
A a这句话有了i,这句话有个变量,是A这个类的变量,,这个变量有A这个类所声明的所有东西,我们定义了一个A类的对象。这个对象里面有i,由于i是私有的,所以a.i不能用(不能在A以外的地方使用),所以只能用a.f()
成员变量不在类里面,在这个类的每一个对象里面。
在f函数里可以自由使用i , 不需要知道它在哪里。因为i已经声明,实际上i在这个类的每一个对象里面。这个类不拥有这个i,它只是声明有个i,这个类的对象才有这个i。
所以可以访问a.i
函数是属于类的,不是属于对象的。
a.f() 让a这个对象去做f()函数这个动作。函数知道哪个对象,类里所有的对象要用到的函数是一个。
external int gl 在这个项目某个地方,有个gl
this is a hidden parameter for all member functions with the type of the class
void Point::print()
等价于
void Point::print(Point *p)
this 是一个指针,它的类型是这个函数所属的那个类的对象的指针。