5成都网站建设百度推广运营怎么做
🐶博主主页:@ᰔᩚ. 一怀明月ꦿ
❤️🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C++
🔥座右铭:“不要等到什么都没有了,才下定决心去做”
🚀🚀🚀大家觉不错的话,就恳求大家点点关注,点点小爱心,指点指点🚀🚀🚀
目录
🐰静态数据成员
🌸静态数据成员的声明:
🌸静态数据成员的初始化:
🌸静态数据成员的访问:
🐰静态成员函数
🌸静态成员函数的声明
🌸静态数据成员函数的访问
🐰友元函数
友元函数的声明
🐰静态数据成员
静态数据成员在内存中只占一份空间(而不是每个对象都分别为它保留一份空间),它是属于类的,但它被类的所有对象所共享,每个对象都可以访问这个静态数据成员。若改变它的值,则在各对象中这个数据成员的值同时改变了,静态数据成员系统单独为它开辟一段空间,不属于任何对象,程序结束空间才会被释放。🌸静态数据成员的声明:
static 数据类型 变量名;
🌸静态数据成员的初始化:
静态数据成员的初始化,静态数据成员的初始化一定在类外。数据类型 类名::变量名=初值;
注意:不要在类的静态数据成员声明时进行初始化,一定要在类外初始化!!!,如果没有初始化静态数据成员,系统自动给它赋值为0.🌸静态数据成员的访问:
(1)通过对象名进行访问对象名.静态数据成员的变量名
(2)通过类名进行访问类名::静态数据成员的变量名
注意:类的复合复制构造函数(默认的复制构造函数)并不能处理静态数据成员。需要自己提供的复制构造函数去处理静态数据成员
🐰静态成员函数
🌸静态成员函数的声明
静态成员函数的声明:就是在普通的成员函数前面加一个staticstatic 返回类型 函数名(参数列表);
🌸静态数据成员函数的访问
类名::函数名()对象.函数名()
注意:(1)静态成员函数与非静态的成员函数的根本区别:非静态函数有this指针,而静态成员函数没有this指针,因而静态成员函数不能默认访问本类的非静态数据成员。当调用一个对象的非静态的成员函数时,系统会把该对象的起始地址赋给成员函数的this指针。(2)静态成员函数可以直接访问静态数据成员。在C++程序中静态成员函数主要是访问静态数据成员,不访问静态数据成员例外:Student s1;int age ;int score ;age和score都是非静态的数据成员static void print(){Cout<<s1.age<<s1.score<<endl;}在当前作用域是合法的。
🐰友元函数
友元函数不是当前类的成员函数,而是独立于当前类的外部函数,但他可以访问该类对象的任何成员,包括私有成员、公有成员和保护成员。友元函数的声明
友元函数的声明时,只要在声明语句的最前面加上关键字friend。 声明可以放在类的任何成员属性里(私有部分、公有部分和保护部分)friend 返回类型 函数名(类名 &引用名...)friend void print(Student &temp);
注意:(1)声明一个友元函数,就可以用这个函数直接访问该类的私有数据,从而提高了运行效率。(2)友元函数提供了不同类的成员函数之间、类的成员函数与普通函数之间进行数据共享(3)一个类的成员函数也可以作为另一个类的友元,一个类的成员函数作为另一个类的友元函数时,必须先定义这个类(作成员函数的类)
🌸🌸🌸如果大家还有不懂或者建议都可以发在评论区,我们共同探讨,共同学习,共同进步。谢谢大家! 🌸🌸🌸