程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了(C++) 如何跟踪我声明的类的多少个对象?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决(C++) 如何跟踪我声明的类的多少个对象??

开发过程中遇到(C++) 如何跟踪我声明的类的多少个对象?的问题如何解决?下面主要结合日常开发的经验,给出你关于(C++) 如何跟踪我声明的类的多少个对象?的解决方法建议,希望对你解决(C++) 如何跟踪我声明的类的多少个对象?有所启发或帮助;

假设我有一个这样的班级,我想跟踪有多少员工以及他们使用帐号系统的人员。我想知道这是一个愚蠢的想法还是它是否好,只是(到目前为止)没有正确实施。

class Employee {
private:
  long int accountNumber;
  static int currentTotal;
  static int lifetimetotal;
  /* other member variables like name */
public:
  /* member functions,constructors,etc. */
};

我的想法是:

员工加入公司

我可以声明一个员工,并在构造函数中有 ++currentTotal; ++lifetimetotal;。这会将员工人数增加 1。

员工离职

当有人不再在公司工作时,我可以以某种方式使用 --currentTotal;。当前员工人数减少了 1,因此变量也应该减少;但是,lifetimetotal 不会递减。

我究竟会如何减少这个?我应该使用某种虚拟员工并为其编写成员函数吗?或者也许对我声明的所有对象使用指针,这样我就可以delete它们?

员工帐号

我在想账号可以半随机生成,其中一部分数字序列编码某种功能信息(他们在哪个分支机构工作,他们是否收到工资或薪水等),另一部分是由RNG决定,最后一位为校验位。但是,我想有一种方法可以确保帐号不能重复使用。我不知道如何实现这一目标。

跟踪

我如何准确地跟踪他们来来去去?我的第一个想法是向量或某种 ADT(两者我都不完全了解如何实现,但我明白了基本想法)。但是,如果我需要,比如说,找到 John Doe 的薪水,我需要能够在可能有数千名其他员工的账户中搜索它(在我的模拟练习中,我只会有几十个)。>

除了基础知识,我对类/结构的了解不多,因为到目前为止,我使用它们的经验只有继承、virtual 函数、const_cast 和 {{1 }}、static_cast 重载、operator 函数,还有我在网上找到的这个叫做智能指针的东西,在这里我可以声明frIEnd,而不是声明Employee worker1( /* ... */ );。我在示例中看到了很多我不知道该怎么做的东西。

我几乎可以肯定数组不是要走的路,因为它的大小是固定的,所以我认为向量更好。我真的不知道我在做什么,我非常感谢您的帮助。

解决方法

有点取决于您想要实现的目标:

一个。跟踪当前实例化的特定类(此处:employee)的对象数量。您将实现一个在所有构造函数中递增并在析构函数中递减的静态成员计数器。

B.跟踪您的公司有多少员工(这与 (a) 完全不同,请考虑一下)。在这里,计数器应该是您的数据模型的一部分(您可能有一个 company 类,该类将通过其 hire()fire() 方法进行跟踪)

大佬总结

以上是大佬教程为你收集整理的(C++) 如何跟踪我声明的类的多少个对象?全部内容,希望文章能够帮你解决(C++) 如何跟踪我声明的类的多少个对象?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: