Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 动态数组,动态构造函数_C++_Dynamic_Constructor - Fatal编程技术网

C++ 动态数组,动态构造函数

C++ 动态数组,动态构造函数,c++,dynamic,constructor,C++,Dynamic,Constructor,我想得到一些关于标题中提到的主题的好信息 因此,我想获得一些关于如何创建动态类构造函数并将类实例保存在用户定义的动态数组中的好的注释/教程。我想解决休闲问题: “一个家庭想要管理每月的开支。为了完成这项任务,这个家庭需要 申请存储,在某个月内,家庭的所有开支。每个开支将存储在 通过以下要素申请:日期(制作当月)、金额和 费用类型(家庭希望将其费用分为以下类别:家务, 食物、交通、服装、电话和互联网,其他——书籍、电影、体育等)。家庭需要 应用程序以重复执行以下功能(每个功能都有示例): 多谢各位

我想得到一些关于标题中提到的主题的好信息

因此,我想获得一些关于如何创建动态类构造函数并将类实例保存在用户定义的动态数组中的好的注释/教程。我想解决休闲问题:

“一个家庭想要管理每月的开支。为了完成这项任务,这个家庭需要 申请存储,在某个月内,家庭的所有开支。每个开支将存储在 通过以下要素申请:日期(制作当月)、金额和 费用类型(家庭希望将其费用分为以下类别:家务, 食物、交通、服装、电话和互联网,其他——书籍、电影、体育等)。家庭需要 应用程序以重复执行以下功能(每个功能都有示例):

多谢各位。 PS:我想提一下我是C++的新手,但是从Python中了解OOP。p> 编辑:到目前为止,我已经做到了这一点

 class ExpC
  {
private:
int *days;
int *houseK;
int *food;
int *transp;
int *cloth;
int *telNet;
int *others;

public:
/* constructor */

ExpC()                 //Constructor
{
int *days,* houseK,*food,*transp,*cloth,*telNet,*others;
}

~ExpC()                //Deconstructor
{

}

void add(){

}

 };

在我看来,你需要:

1) 基类-
费用
。如果需要,您可以扩展它,或者按原样使用它

2) 指针的容器,或者更好的是,指向
Expense
对象的智能指针。如果需要通过某些参数快速查找,请查找
std::vector
std::map

3) 使用
new
new Expense()
动态创建新费用

4) 添加到容器中:

std::vector<Expense*> expenses;
expenses.push_back(new Expense());
std::向量费用;
费用。推回(新费用());
完成后释放内存

编辑:


<> P>因为你的代码完全错误,我建议读一本好的C++书籍或教程,然后按照我的建议。

< P>我觉得你需要:

1) 基类-
费用
。如果需要,您可以扩展它,或者按原样使用它

2) 指针的容器,或者更好的是,指向
Expense
对象的智能指针。如果需要通过某些参数快速查找,请查找
std::vector
std::map

3) 使用
new
new Expense()
动态创建新费用

4) 添加到容器中:

std::vector<Expense*> expenses;
expenses.push_back(new Expense());
std::向量费用;
费用。推回(新费用());
完成后释放内存

编辑:


<> P>因为你的代码完全错误,我建议读一本好的C++书籍或教程,然后按照我的建议。

< P>听起来,我想你需要研究一个结构,它包含预算信息(月、食物、交通等)。然后,如果您可以使用STL,请考虑创建结构的向量,该向量可以方便地创建用户所需数月的费用数据。然后将所有这些都封装在一个类中,为功能创建方法

研究STL向量类。向量是一个动态数组,可以是任何类型,从基本数据类型(如整数)到更复杂的数据类型(如用户定义的数据类型)(在您的示例中,是费用结构)。研究载体。如果您已经熟悉阵列,那么它们非常容易实现和使用


但是请提供更多关于你能做什么和不能做什么的信息。

我觉得你需要考虑创建一个保存预算信息(月份、食物、交通等)的结构。然后,如果您可以使用STL,请考虑创建结构的向量,该向量可以方便地创建用户所需数月的费用数据。然后将所有这些都封装在一个类中,为功能创建方法

研究STL向量类。向量是一个动态数组,可以是任何类型,从基本数据类型(如整数)到更复杂的数据类型(如用户定义的数据类型)(在您的示例中,是费用结构)。研究载体。如果您已经熟悉阵列,那么它们非常容易实现和使用


但是,请提供更多关于您可以做什么和不能做什么的信息。

我的数据库编码经验告诉我要将每项费用单独记录(对象)

所以最好是这样

class Expence {
public:
  enum Type {k_food, k_house, k_transport /*, etc*/};

  Expence (int date, Type type, float amount) :
  date_(date),
  type_(type),
  amount_(amount)
  {}

private:
  int date_; 
  Type type_; 
  float amount_;
};
添加您需要的所有方法

该计划的其余部分将像吕基安·格里戈尔(Luchian Grigore)所说的那样


希望能有所帮助。

我的数据库编码经验告诉我要将每项费用单独记录(对象)

所以最好是这样

class Expence {
public:
  enum Type {k_food, k_house, k_transport /*, etc*/};

  Expence (int date, Type type, float amount) :
  date_(date),
  type_(type),
  amount_(amount)
  {}

private:
  int date_; 
  Type type_; 
  float amount_;
};
添加您需要的所有方法

该计划的其余部分将像吕基安·格里戈尔(Luchian Grigore)所说的那样


希望能有所帮助。

您是否已经尝试过任何方法?在深入进行任何类型的解释之前,您是否应该遵循某些规则来实施解决方案?例如,您是否应该使用new为阵列分配内存?或者你能使用STL吗?我不知道什么是动态构造函数,但是最好用动态数组来实现,学习C++是最好的实现。我知道一些东西…但是oop仍然不是那么容易,我知道并理解原理,但是在类下使用指针对我来说是相当困难的。而且我一直在查谷歌,所以任何我应该知道或了解的事情我都会在网上查。在看到你的代码后,我必须强调我的观点。找一份工作。为什么你们所有的成员都是指针?为什么要在构造函数中声明隐藏类中成员的对象?问:你已经试过做什么了吗?在深入解释之前,你是否应该遵循某些规则来实施你的解决方案?例如,您是否应该使用new为阵列分配内存?或者你能使用STL吗?我不知道什么是动态构造函数,但是最好用动态数组来实现,学习C++是最好的实现。我知道一些东西…但oop仍然不是那么容易,我知道并理解原则