C++中类的静态成员与实例成员的区别 C++中类的静态成员与实例成员的区别

C++中类的静态成员与实例成员的区别

1、有static修饰的成员变量或成员函数称为静态成员

2、在内存中,类的静态数据成员占有一块特定的内存空间,被该类的所有实例(对象)共享。而同一个类的不同对象的实例数据成员相互独立,占有各自的存储空间。

3、静态变量不能在构造函数中初始化,必须在类外的文件作用域中定义静态数据成员,即为它们分配存储空间。

4、在类之外,需要使用类名和域解析操作符:: 访问类的静态数据成员和共有函数成员。

5、在静态函数中,只能访问类的静态成员变量和静态函数,而不能访问类的实例数据成员。

 

静态函数和普通函数的本质区别:编译时,编译器没有为静态函数指定this参数,而普通函数有this参数。

1、有static修饰的成员变量或成员函数称为静态成员

2、在内存中,类的静态数据成员占有一块特定的内存空间,被该类的所有实例(对象)共享。而同一个类的不同对象的实例数据成员相互独立,占有各自的存储空间。

3、静态变量不能在构造函数中初始化,必须在类外的文件作用域中定义静态数据成员,即为它们分配存储空间。

4、在类之外,需要使用类名和域解析操作符:: 访问类的静态数据成员和共有函数成员。

5、在静态函数中,只能访问类的静态成员变量和静态函数,而不能访问类的实例数据成员。

 

静态函数和普通函数的本质区别:编译时,编译器没有为静态函数指定this参数,而普通函数有this参数。

猜你喜欢

转载自www.cnblogs.com/pjl1119/p/9643715.html
今日推荐