gpt4 book ai didi

c++ - 计算创建的类对象

转载 作者:搜寻专家 更新时间:2023-10-31 00:10:53 24 4
gpt4 key购买 nike

<分区>

我想这个问题不需要任何解释。我真的不知道我做错了什么。我以前做过一次,它工作正常。我还是 oop 的初学者。

#include <iostream>
#include <vector>

class Employee
{
private:
static int counter;
public:
Employee::Employee()
{
counter++;
}

Employee::~Employee()
{
counter--;
}

static int ShowCounter()
{
//std::cout << counter << std::endl;
return counter;
}
};

int Employee::counter = 0;

int main()
{
std::vector<Employee> employees;

std::cout << "Constructors: " << std::endl;
employees.push_back(Employee());
std::cout << Employee::ShowCounter() << std::endl;
employees.push_back(Employee());
std::cout << Employee::ShowCounter() << std::endl;
employees.push_back(Employee());
std::cout << Employee::ShowCounter() << std::endl;

std::cout << "Destructors: " << std::endl;
employees.pop_back();
std::cout << Employee::ShowCounter() << std::endl;
employees.pop_back();
std::cout << Employee::ShowCounter() << std::endl;
employees.pop_back();
std::cout << Employee::ShowCounter() << std::endl;

std::cout << std::endl;

system("pause");
}

输出:

Constructors:
0
-1
-3
Destructors:
-4
-5
-6

我可能犯了一些愚蠢的错误

编辑:我担心这是违反规则的,但我有下一个问题与上一个问题相关。我粘贴了必须显示我的问题的最少代码。现在,当我尝试将您的解决方案实现到我的主代码中时,出现错误 'Employee &Employee::operator =(const Employee &)': attempting to reference a deleted function'。有问题的行:

employees[employees.size() - 1] = generate_random_employee(employees[employees.size() - 1], employees);

函数generate_random_employeeEmployee 类型的函数。如果您需要更多详细信息,我会提出一个新问题。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com