77问答网
所有问题
C++中静态成员函数和非静态成员函数的区别
如题所述
举报该问题
其他回答
第1个回答 2019-10-15
静态函数只有当程序结束的时候才从内存消失。而非静态则是动态加载到内存,不需要的时候就从内存消失。
据个例子,调用类中的静态函数,你不需要创建对象就可以调用。而对于非静态的函数,你必须要先创建对象,才能够由对象调用。
Class::func()
//对于静态函数不创建对象,可以这样调用,而非静态必须创建对象。
第2个回答 2019-07-28
静态成员函数只有一份拷贝,而普通成员函数在每个类对象中都有一份拷贝。
静态成员函数相当于在其所属类的名字空间内定义的全局函数,可以直接通过
类型访问。而普通成员函数必须通过对象访问。
相似回答
静态成员和非静态成员的区别
答:
静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,
非静态成员
需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类
中静态的
成员.非成静态员:所有没有加
Static的
成员都...
静态成员函数
为什么不能访问本类
中的非静态成员
?
答:
可以说,
静态成员函数与非静态成员函数的根本区别是:非静态成员函数有this指针,静态成员函数并不属于某一对象
,它与任何对象都无关,静态成员函数没有this指针。由此决定了静态成员函数不能访问本类中的非静态成员。在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。假如在一个静态...
静态成员和非静态成员的区别
答:
三、生命周期不同:1)成员变量随着对象的出现而出现
,随着对象的消失而消失。2)静态变量随着类的出现而出现,随着类的消失而消失。四、补充:1.静态变量使用 static 修饰符进行声明;2.在类被实例化时创建,通过类进行访问不带有 static 修饰符声明的变量称做非静态变量;3.在对象被实例化时创建,...
类的
静态成员和非静态成员
有何
区别
?
答:
非静态成员也叫成员变量,二者区别如下 :1、
名称上的区别
成员变量也叫实例变量;静态变量也叫类变量。2、内存存储的区别 成员变量存储到堆内存的对象中,静态变量存储到方法区的静态区中。
3、生命周期不同
成员变量随着对象的出现而出现,随着对象的消失而消失。静态变量随着类的出现而出现,随着类的...
C++静态成员函数
,怎么就访问私有变量了...
答:
C++
会
区分
两种类型的成员函数:
静态成员函数和非静态成员函数
。这两者之间的一个重大
区别
是,静态成员函数不接受隐含的this自变量。所以,它就无法访问自己类的非静态成员。左例中分别声明了成员函数void add(),成员变量int a,和静态成员函数 static void staticfunc(),静态成员变量 static int sa.在...
在
c++中static的
用法
答:
Static静态
变量不能为其它文件所用(这个
区别
于extern的)静态数据成员只能而且必须在类外初始化 静态成员函数里面没有隐藏this指针。
非静态成员函数
可以访问静态数据成员。 静态成员函数不能访问非静态数据成员。关于静态成员函数,可以总结为以下几点:出现在类体外的函数定义不能指定关键字static;静态成员之间...
什么叫
静态函数成员
,它有何特点
答:
1、
静态成员函数
是用关键词static声明的成员函数,它属于整个类而并不属于类的某个对象。类的静态成员(变量和方法)属于类本身,在类加载的时候就会分配内存,可以通过类名直接去访问;
非静态成员
(变量和方法)属于类的对象,所以只有在类的对象产生(创建类的实例)时才会分配内存,然后通过类的对象(...
大家正在搜
静态成员函数和非静态成员函数区别
静态成员函数调用非静态成员函数
静态数据成员和静态成员函数
非静态成员函数访问静态成员
静态成员函数不能访问非静态成员
非静态成员函数访问静态成员变量
静态成员函数只能访问静态数据成员
数据成员和成员函数
非静态成员函数
相关问题
静态成员函数为什么不能访问本类中的非静态成员?
类的静态成员和非静态成员有何区别?
C++中静态成员函数和非静态成员函数的区别
C++中非静态成员函数可以直接访问静态成员函数吗?
在c++中,类的对象可以使用静态成员函数和非静态成员函数吗
C++中静态成员变量和静态成员函数的定义区别
c++ 静态成员与静态函数 使用的多吗
c++ 静态成员函数能调用非静态成员吗