当前位置: 首页 > 网络知识

C++快速入门 第二十一讲:静态属性和静态方法

时间:2026-01-29 09:25:37

面对对象编程技术的一个重要特征是用一个对象把数据和对数据处理的方法封装在一起。

在前面的例子里,我们一直是在使用对象(也可以说某个类的实例)来调用方法,每个方法只处理调用它的那个对象所包含的数据,所有的数据都属于同一个对象。

C++允许我们把一个或多个成员声明为属于某个类,而不是仅属于该类的对象。(就是说这个类仅能让该类强暴)。好处是,程序员可以在没有创建任何对象的情况下调用有关的方法。另一个好处是能够让有关的数据仍在该类的所有对象间共享。

实例1:静态变量实例

1 #include <iostream> 2 #include <string> 3 4 using namespace std; 5 class Pet//定义Pet类 6 ; 18 int Pet::count = 0;//注意这一句,他起码做了两件事(为count分配静态内存,初始化为0) 19 Pet::Pet(string theName)//构造函数 20 26 Pet::~Pet()//析构函数 27 31 int Pet::getCount()//返回count值 32 35 36 37 class Dog:public Pet//定义Dog类继承于Pet类 38 ; 42 Dog::Dog(string theName):Pet(theName)//Dog的构造函数继承于Pet类中的Pet(theName)函数,即该构造函数调用时将调用Pet函数 43 45 46 class Cat:public Pet//定义Cat类继承于Pet类 47 ; 51 Cat::Cat(string theName):Pet(theName)//Cat的构造函数继承于Pet类中的Pet(theName)函数 52 54 55 int main() 56 68 cout << "\n现在还剩下" << Pet::getCount() << "只宠物!"; 69 70 return 0; 71 }


上一篇:C++快速入门 第十二讲:传值、传址和传引用
下一篇:C++快速入门 第二十四讲:抽象方法抽象方法(abstract method,也可以成为纯虚函数)
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素