C++中类的成员函数定义成static与C中的static的函数有什么不同
具体的说:C中的static型的函数只能在本源文件中引用,不能被外部文件引用,那若在C++中定义一个类,其中有成员函数定义成static型时,有什么作用?对该函数有什么制...
具体的说:C中的static型的函数只能在本源文件中引用,不能被外部文件引用,那若在C++中定义一个类,其中有成员函数定义成static型时,有什么作用?对该函数有什么制约吗?
展开
5个回答
展开全部
如果是静态函数 static 类型 函数名(形参){}这样的函数 它可以被 类名::函数名(参数)调用
也可以被 对象.函数名(参数)调用
如果是静态变量 static int a;这样的类里面的 是所以对象共享的一个变量 可以改变 使用前必须初始化 初始化 int 类名::a=0; 赋值 在类函数中a=10; 只能本文件使用 楼主应该懂了吧...别听楼上的说不能赋值...
也可以被 对象.函数名(参数)调用
如果是静态变量 static int a;这样的类里面的 是所以对象共享的一个变量 可以改变 使用前必须初始化 初始化 int 类名::a=0; 赋值 在类函数中a=10; 只能本文件使用 楼主应该懂了吧...别听楼上的说不能赋值...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
类的静态成员函数不与任何对象相联系,它可以直接访问类的静态数据成员,而不能直接访问类的普通数据成员(即非静态数据成员),因为普通数据成员只有类的对象存在时才有意义。
C中的静态函数只在本文件中有效。
C中的静态函数只在本文件中有效。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是吧,记得static静态成员的说明是
所有的该类的对象共用这一个成员,直接用类名访问就可以
初始化的时候必须在类外初始化
只在本文件中使用的那个,应该是私有吧……………………
所有的该类的对象共用这一个成员,直接用类名访问就可以
初始化的时候必须在类外初始化
只在本文件中使用的那个,应该是私有吧……………………
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
静态函数:
定义一个静态函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static 函数类型 函数名(函数参数表)
{……}
关键字“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用静态函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
静态数据成员:
在类中定义一个静态数据成员(定义时必须初始化!),这个数据成员就不能再次赋值,只能表达式运算!如:static int a=10;如果再次赋值:a=20;就会报错!
如果编程时,一些变量不想让用户更改,就可以定义静态数据成员。一般编写大型程序,都有很多静态数据成员!
定义一个静态函数,只需在函数类型前再加一个“static”关键字即可,如下所示:
static 函数类型 函数名(函数参数表)
{……}
关键字“static”的含义不是指存储方式,而是指对函数的作用域仅局限于本文件。
使用静态函数的好处是:不同的人编写不同的函数时,不用担心自己定义的函数,是否会与其它文件中的函数同名,因为同名也没有关系。
静态数据成员:
在类中定义一个静态数据成员(定义时必须初始化!),这个数据成员就不能再次赋值,只能表达式运算!如:static int a=10;如果再次赋值:a=20;就会报错!
如果编程时,一些变量不想让用户更改,就可以定义静态数据成员。一般编写大型程序,都有很多静态数据成员!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询