繁体   English   中英

动态数组,动态构造函数

[英]Dynamic array, dynamic constructor

我想获得有关标题中提到的主题的一些很好的信息。

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

“一个家庭希望管理其每月支出。为了完成此任务,该家庭需要一个应用程序来存储该家庭的所有支出在特定月份内。每个支出将通过以下元素存储在应用程序中:天(费用,支出金额和支出类型(家庭希望将支出归为以下几类:房屋,食品,交通,服装,电话和互联网,以及其他–书籍,电影,体育家族需要一个应用程序来重复执行以下功能(每个功能都得到示例):”

谢谢。 PS:我想提一下我是C ++的新手,但是对python的OOP有一定的了解。

编辑:我到现在为止。

 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)基类- Expense 您可以根据需要扩展它,也可以原样使用。

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

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

4)添加到容器中:

std::vector<Expense*> expenses;
expenses.push_back(new Expense());

并在完成后释放内存。

编辑:

由于您的代码是完全错误的,因此建议阅读一本不错的C ++书籍或教程,然后采用我建议的方法。

在我看来,您需要考虑创建一个包含预算信息(月,食物,交通等)的结构。 然后,如果可以使用STL,请研究创建结构的向量,该向量可以轻松地创建用户所需的长达数月的费用数据。 然后将所有内容包装在一个类中以创建该功能的方法。

研究STL向量类。 向量是动态数组,可以是任何类型,从基本数据类型(例如整数)到更复杂的东西(例如用户定义的数据类型)(在您的情况下为费用结构)。 研究载体。 如果您已经熟悉数组,它们将非常容易实现和使用。

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

我的DB编码经验表明我将每种费用都放在单独的记录(对象)中

这样会更好

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所说。

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM