--------------------------------------------------------静态类成员
静态数据成员:
属于类的,而不是属于某个对象。
一般用法“类名::标识符"。
静态成员函数:
可以直接访问静态数据成员,和静态成员函数,而访问非静态数据成员时要用对象名引用
--------------------------------------------------------常变量(const)/
常引用:
常引用引用的对象不能更新,不管是任何数据类型,或者struct,或者类...
常对象:
常对象必须进行初始化,而且不能被更新。
常对象可以调用常成员函数。别的都不能访问。
常成员函数:
不能更新数据成员(既不能给数据成员赋值),不能调用该类中没有用const修饰的成员函数
能被常对象访问。
可以参加重载函数区分。(如果同名达到重载条件:一般对象调用一般对象,const对象调用const成员函数)
常数据成员:
只能通过构造函数进行初始化,任何成员函数不能对常数据成员赋值(当然除了构造函数外)
--------------------------------------------------------指针
对象指针:
类名 *对象指针名;
对象指针名->成员名; //包括成员函数和数据成员。
成员函数指针:
类型说明符 (类名::*指针名)(参数表); //声明
指针名 = 类名::函数成员名; //指向 这里函数名既被在C++中认为是地址
对象名.*函数名; //表式
对象指针名->*函数名; //表式
数据成员指针:
类型说明符(类名::*指针名); //声明
指针名 = &类名::数据成员名; //指向
对象名.*数据成员名; //表式
对象指针名->*数据成员名; //表式
--------------------------------------------------------///静态成员指针/
指向静态成员函数的指针:
定义像定义一般”函数指针“一样。
void (*p)(float) = A::sort; //sort是A类的静态成员函数
指向静态数据成员的指针:
定义像定义一般指向变量指针一样。
int *s = A::n; //n是A类的静态数据成员
静态数据成员:
属于类的,而不是属于某个对象。
一般用法“类名::标识符"。
静态成员函数:
可以直接访问静态数据成员,和静态成员函数,而访问非静态数据成员时要用对象名引用
--------------------------------------------------------常变量(const)/
常引用:
常引用引用的对象不能更新,不管是任何数据类型,或者struct,或者类...
常对象:
常对象必须进行初始化,而且不能被更新。
常对象可以调用常成员函数。别的都不能访问。
常成员函数:
不能更新数据成员(既不能给数据成员赋值),不能调用该类中没有用const修饰的成员函数
能被常对象访问。
可以参加重载函数区分。(如果同名达到重载条件:一般对象调用一般对象,const对象调用const成员函数)
常数据成员:
只能通过构造函数进行初始化,任何成员函数不能对常数据成员赋值(当然除了构造函数外)
--------------------------------------------------------指针
对象指针:
类名 *对象指针名;
对象指针名->成员名; //包括成员函数和数据成员。
成员函数指针:
类型说明符 (类名::*指针名)(参数表); //声明
指针名 = 类名::函数成员名; //指向 这里函数名既被在C++中认为是地址
对象名.*函数名; //表式
对象指针名->*函数名; //表式
数据成员指针:
类型说明符(类名::*指针名); //声明
指针名 = &类名::数据成员名; //指向
对象名.*数据成员名; //表式
对象指针名->*数据成员名; //表式
--------------------------------------------------------///静态成员指针/
指向静态成员函数的指针:
定义像定义一般”函数指针“一样。
void (*p)(float) = A::sort; //sort是A类的静态成员函数
指向静态数据成员的指针:
定义像定义一般指向变量指针一样。
int *s = A::n; //n是A类的静态数据成员