首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态数组,动态构造函数

动态数组,动态构造函数
EN

Stack Overflow用户
提问于 2012-03-21 22:07:02
回答 3查看 2.7K关注 0票数 0

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

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

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

谢谢。PS:我想说的是,我是c++的新手,但是对python中的面向对象编程有一定的了解。

编辑:到目前为止,我已经了解到这一点。

代码语言:javascript
复制
 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(){

}

 };
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-21 22:15:09

在我看来你需要:

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

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

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

4)添加到容器中:

代码语言:javascript
复制
std::vector<Expense*> expenses;
expenses.push_back(new Expense());

并在完成后释放内存。

编辑:

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

票数 2
EN

Stack Overflow用户

发布于 2012-03-21 22:21:41

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

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

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

票数 1
EN

Stack Overflow用户

发布于 2012-03-21 22:30:21

我的DB编码经验告诉我,应该将每个expences放在单独的记录(object)中

所以这样会更好

代码语言:javascript
复制
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说的那样。

希望能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9806247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档