c++类中 各种成员的生命周期?
类中普通成员变量(包括private,protected,和public类型),还有类中静态成员变量的生命周期,还有类的成员函数中定义的变量的生命周期,各是什么呀?在类的...
类中普通成员变量(包括private,protected,和public类型),还有类中静态成员变量的生命周期,还有类的成员函数中定义的变量的生命周期,各是什么呀?在类的析构函数调用时,都能析构掉以上的哪些成员啊?上述哪些成员的生命周期是整个程序的生命周期?哪些具有文件作用域呀?高手们多多赐教啊!!!
展开
3个回答
展开全部
c++类里面的变量类型,仅仅是对外部调用的使用和继承时的使用作了规定,关于他们的生命周期,其实和c语言是基本相同的。静态成员变量是有整个程序的生命周期的,而且一个类中的静态成员,无论你生命多少个对象,使用的都是同一个静态成员,如:
class A
{
static x;
}
class A a;
class A b;
实际上
a.x =b.x
在析构函数中出静态成员由系统释放外,其他成员都可以析构。
class A
{
static x;
}
class A a;
class A b;
实际上
a.x =b.x
在析构函数中出静态成员由系统释放外,其他成员都可以析构。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
标识符的作用域分为:函数作用域,文件作用域,块作用域,函数原型作用域,类作用域,名字空间作用域
1.声明于任何函数或者类之外的标识符具有文件作用域.
2.标签是唯一具有函数作用域的标识符.标签主要用于goto语句中.
3.在一个语句块中声明的标识符具有块作用域.声明为static的局部变量具有块作用域.
4.函数原型参数列表中的标识符是唯一具有函数原型作用域的标识符.
5.标识符的存储类别并不影响标识符的作用域.
6.类成员的作用域与类成员的可见性级别是两回事,并且它们并不互相影响。比如类的private成员,在类的客户中虽然不能访问,但并不表示它们不存在,它们仍然在它们自身的作用域内动作。
1.声明于任何函数或者类之外的标识符具有文件作用域.
2.标签是唯一具有函数作用域的标识符.标签主要用于goto语句中.
3.在一个语句块中声明的标识符具有块作用域.声明为static的局部变量具有块作用域.
4.函数原型参数列表中的标识符是唯一具有函数原型作用域的标识符.
5.标识符的存储类别并不影响标识符的作用域.
6.类成员的作用域与类成员的可见性级别是两回事,并且它们并不互相影响。比如类的private成员,在类的客户中虽然不能访问,但并不表示它们不存在,它们仍然在它们自身的作用域内动作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询