当前位置: 首页 > news >正文

东莞网站建设_东莞网页设计】现在做网站用什么软件

东莞网站建设_东莞网页设计】,现在做网站用什么软件,辽宁省工程建设招标网,天津建设部网站保温static成员 前言一、static成员概念例题 二、 static成员的特性特性例题静态成员函数可以调用非静态成员函数吗非静态成员函数可以调用类的静态成员函数吗 前言 一、static成员 概念 声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之…

static成员

  • 前言
  • 一、static成员
    • 概念
    • 例题
  • 二、 static成员的特性
    • 特性
    • 例题
      • 静态成员函数可以调用非静态成员函数吗
      • 非静态成员函数可以调用类的静态成员函数吗


前言


一、static成员

概念

声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用static修饰的成员函数,称之为静态成员函数。静态成员变量一定要在类外进行初始化。

静态成员是指属于类而不属于类的任何对象的成员。静态成员在类的所有对象之间共享,并且可以在不创建对象的情况下被访问。静态成员包括静态变量和静态方法。

静态变量是类的所有对象之间共享的变量。它们在内存中只有一份拷贝,并且可以直接通过类名访问。静态变量在类的任何对象被创建之前就被初始化,它们的值在所有对象之间是一致的。

静态方法是属于类而不属于任何对象的方法。它们可以直接通过类名调用,而不需要创建类的对象。静态方法通常用于执行与类相关的操作,而不涉及特定对象的状态。

静态成员在类的定义中使用static关键字进行声明。例如,以下是一个使用静态变量和静态方法的示例:

class MyClass {
public:static int staticVar; // 静态变量声明static void staticMethod(); // 静态方法声明
};int MyClass::staticVar = 0; // 静态变量定义和初始化void MyClass::staticMethod() {// 静态方法的实现cout << "This is a static method." << endl;
}int main() {MyClass::staticVar = 10; // 静态变量的访问MyClass::staticMethod(); // 静态方法的调用return 0;
}

在上述示例中,静态变量staticVar和静态方法staticMethod属于类MyClass,可以直接通过类名进行访问和调用。

例题

实现一个类,计算程序中创建出了多少个类对象。

class A
{
public:A() { ++_scount; }A(const A& t) { ++_scount; }~A() { --_scount; }static int GetACount() { return _scount; }
private:static int _scount;
};int A::_scount = 0;void TestA()
{cout << A::GetACount() << endl;A a1, a2;A a3(a1);cout << A::GetACount() << endl;
}

以上代码定义了一个名为A的类,该类包含一个私有的静态成员变量_scount,一个默认构造函数,一个拷贝构造函数和一个析构函数。在main函数中,调用TestA函数。

TestA函数中,首先调用A::GetACount()函数获取当前A类的对象数量,然后创建了两个A类的对象a1a2,并将a1传递给a3的拷贝构造函数。再次调用A::GetACount()函数获取当前A类的对象数量。

_scount是一个静态成员变量,它在类定义外进行初始化,并在类定义中被声明为私有。该变量用于记录A类的对象数量。默认构造函数和拷贝构造函数都会在对象创建时将_scount自增1,析构函数会在对象销毁时将_scount自减1。

因此,输出结果将显示A类对象的数量。首先是0,因为还没有创建任何A类的对象。然后是3,因为在TestA函数中创建了两个对象(a1a2),并进行了一次拷贝构造(a3)。最后,在TestA函数结束后,对象被销毁,_scount减少到0。

二、 static成员的特性

特性

  1. 静态成员为所有类对象所共享,不属于某个具体的对象,存放在静态区
  2. 静态成员变量必须在类外定义,定义时不添加static关键字,类中只是声明
  3. 类静态成员即可用 类名::静态成员 或者 对象.静态成员 来访问
  4. 静态成员函数没有隐藏的this指针,不能访问任何非静态成员
  5. 静态成员也是类的成员,受publicprotectedprivate 访问限定符的限制

例题

静态成员函数可以调用非静态成员函数吗

静态成员函数可以调用非静态成员函数,但需要通过对象或者指针来调用。因为非静态成员函数是依赖于具体的对象或者实例的,而静态成员函数是独立于对象或者实例的,所以在静态成员函数中不能直接访问非静态成员变量和非静态成员函数。但可以通过将对象作为参数传递进来或者通过对象指针来调用非静态成员函数。

非静态成员函数可以调用类的静态成员函数吗

非静态成员函数可以调用类的静态成员函数。在非静态成员函数中,可以使用类名和作用域解析操作符(::)来调用静态成员函数。


http://www.yayakq.cn/news/436843/

相关文章:

  • 优秀服装网站设计潼南网站建设
  • 国内扁平化网站欣赏wordpress插件jetpack
  • 企业网站建设专业精准一 鸣远科技wordpress七牛云使用
  • 专注新乡网站建设画册设计内容
  • 网站优化报告网站建设案例收费情况
  • 重庆招标建设信息网站浙江建筑信息网站
  • 深圳关键词推广整站优化网站产品关键词导出
  • 传奇服务器如何做网站国内建站平台有哪些
  • 墨刀做网站网页wordpress安装过程
  • 医疗网站昆山网站建设哪家比较好
  • 便捷网站建设公司企业邮箱登录9951026net
  • 洛阳网站建设哪家好多图片网站优化
  • 北京市建设工程交易中心网站163企业邮箱免费
  • 如何做自己的项目网站网站的劣势
  • 国字型布局网站温州网站快速排名
  • 威海自适应网站建设wordpress连接mysql8
  • 免费申请httq网站?企业管理咨询服务内容
  • 牛皮纸 东莞网站建设制图软件免费
  • 建设行业信息管理系统网站得力企业网站建设
  • ps做网站如何网站设计psd模板
  • 网站建设技术大赛试题注册公司
  • 网站建设现在还有没有市场百度认证平台
  • 桐乡网站制作中山建网站报价
  • 快闪视频制作软件appseo个人博客
  • 织梦网站分享插件漳州网站建设优化
  • 中英文网站案例wordpress备份图文文章
  • 海外海外网站建设服务器租用云服务器
  • 搭建网站手机软件大连建设厅网站
  • thinkphp企业网站源码wordpress页面模板是哪个文件
  • 做照片的网站有哪些软件湖州市住房和城乡建设局官方网站