-
++ 运算符的重载:包括前置重载和后置重载。 前置重载:与之前相同; 后置重载: class Coordinate: { Coordinate operator++(int) { Coordinate old(*this);//将this指针的值赋到old; m_iX++; m_iY++; return old; //使用时仍然是old,使用完就++; } };查看全部
-
朋友关系,体现在函数上就是友元函数,体现在类上,就是友元类。全局函数声明为友元,就是友元全局函数 友元的关键字是:friend 友元函数其实就是一个函数的声明,同时一定要传入当前这个类的一个对象或者是一个引用或者是它的指针,总之就是要能够通过这个函数,访问到这个对象当中私有的数据成员,或者是保护的数据成员 传递引用或者是指针,它的传递速度更快,执行效率更高,不提倡直接传入对象的方式 友元会破坏封装性查看全部
-
与数据成员类似,成员函数也可以定义为静态的,在类中声明函数的前面加static就成了静态成员函数。如 static int volume( ); 和静态数据成员一样,静态成员函数是类的一部分,而不是对象的一部分。 如果要在类外调用公用的静态成员函数,要用类名和域运算符“::”。如 Box::volume( ); 实际上也允许通过对象名调用静态成员函数,如 a.volume( ); 但这并不意味着此函数是属于对象a的,而只是用a的类型而已。 与静态数据成员不同,静态成员函数的作用不是为了对象之间的沟通,而是为了能处理静态数据成员。 我们知道,当调用一个对象的成员函数(非静态成员函数)时,系统会把该对象的起始地址赋给成员函数的this指针。而静态成员函数并不属于某一对象,它与任何对象都无关,因此静态成员函数没有this指针。既然它没有指向某一对象,就无法对一个对象中的非静态成员进行默认访问(即在引用数据成员时不指定对象名)。 可以说,静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,而静态成员函数没有this指针。由此决定了静态成员函数不能访问本类中的非静态成员。 静态成员函数可以直接引用本类中的静态数据成员,因为静态成员同样是属于类的,可以直接引用。在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员查看全部
-
静态数据成员必须在类的外面进行初始化,非静态成员函数可以调用静态数据成员和成员函数。查看全部
-
友元的注意事项查看全部
-
声明一个友元类的时候,要先声明该类。查看全部
-
友元函数的参数列表必须是类的对象、引用或指针。查看全部
-
difficult code!查看全部
-
友元重点查看全部
-
相当于调用了函数查看全部
-
不传参数作为普通的成员函数 具有隐形的this指针查看全部
-
Coordinate& operator-(); 引用查看全部
-
成员函数的重载查看全部
-
友元函数的重载 全局函数 返回引用查看全部
-
Watch 实例化时使用了初始化列表查看全部
举报
0/150
提交
取消