-
静态的注意事项查看全部
-
普通成员函数fire虽然看上去一个参数都没有,实际上隐形地传了个this指针 而静态成员函数并没有隐形地传this指针,这就意味着它无法调用普通成员函数(因为不知道是哪个对象), this指针的作用就是(明确是哪个对象查看全部
-
静态数据成员依赖于类 普通数据成员依赖于对象 另外不可以在静态成员函数中使用普通数据成员查看全部
-
调用静态成员函数和静态数据成员的方法查看全部
-
关键字stati只需在类内声明 关键字friend也只需在类内声明(例如一个friend的函数 在类内进行友好声明后) 在类外定义时不再需要写friend查看全部
-
静态数据成员的初始化并不依赖于对象实例化查看全部
-
友元全局函数 外部函数可访问私有成员数据 友元成员函数 外部类成员函数可访问私有成员属性 友元类 外部类内可以实例化类并访问其私有成员属性 谁是谁的友元 B是A的友元,表示B是A的朋友,B可以访问A的私有数据,但B并不认为A是B的朋友,因此,友元是单向的查看全部
-
关于友元的注意事项查看全部
-
public private protected对用关键字friend定义的函数没有限制查看全部
-
声明类;;(可否include"Time.h"呢)查看全部
-
模板函数,模板类;友元函数,友元类;静态数据成员,静态成员函数;运算符重载。查看全部
-
也可以这样子写查看全部
-
前置++和后置++,前置++表示当执行完该命令时,该变量已经立刻就完成了自增。后置++表示执行完该命令后并没有马上自增,而是下一条代码再自增 前置++的写法是Coordinate& operator++(),在里面的函数是可以这样写 Coordinate& Coordinate::operator++() { x++;(或者this->x) y++;(或者this->y) return *this//表示返回的是对象,而且这个对象是自己 } 后置++的写法是Coordinate operator++(int)与前置++区别的是没有&这个符号和在括号里加了int,加int的目的是为了区分前置++,而加入的int除了区分之外没有特别含义。而没有&这个符号是因为return值是一个虽然是Coordinate对象,但是不是这个对象自身,所以不用加引用符号& Coordinate Coordinate::operator++(int) { Coordinate cooor_old(*this);这里的意思是创建一个对象coor_old,然后把默认传入的*this赋值给coor_old。 x++;(或写成this->x)把传入的this对象里面的数据成员的值+1 y++;(或写成this->y) return coor_old;这里返回对象coor_old,由于coor_old里面数据成员的值是++之前的值,所以在返回后如果马上输出的话就是打赢还x和y都还没有++的值。 }查看全部
-
这里红色标识的函数是这个意思:Coordinate&表示这个函数的return值将会是()传入的Coordinate对象自身,如果传入一个地址为0x0001的对象,返回也同样是0x0001的对象。如果不加&,则return一个传入参数Coordinate对象的拷贝值。 在这里()里面什么都没有,其实里面隐含着一个this指针查看全部
-
静态数据成员特点:他的初始化在类外面就已经定义好了,而不是在类里面初始化的。而且他的产生在编译的时候就已经完成,而不需要实例化对象后才产生。而且静态成员后面不可以加const 静态成员函数只能调用静态的成员函数或者成员方法,不可以调用普通的成员函数或者成员方法查看全部
举报
0/150
提交
取消