将结构从c转换为c ++类

时间:2016-05-14 20:01:43

标签: c++ c class struct

我在c

中有一个结构
struct account 
{
   int account_number;
   char *name;
   float balance;
};

然后我在C ++中有不同的代码,它与c代码相关联。我有一个班级

class Account
{
  // some functions ...
  void print()
  {
    std::cout<<"bal-bla-bla"<< account<< std::end; 
  }

   private:
     int account_number;
     char *name;
     float balance;
};

是否可以将信息从struct转换为类?这样做的最佳方式是什么? 谢谢!

2 个答案:

答案 0 :(得分:0)

从C-struct派生你的类。 然后继承数据成员,只需要添加方法。

class Account:
   struct account {
  ...
  void print( void ) {
     ....
  }
};

答案 1 :(得分:0)

我要做的是在类中添加转换构造函数:

Account::Account(const account& a){
    account_number = a.account_number;
    name = a.name;
    balance = a.balance;
}

这意味着您可以使用account,其中您的程序的其余部分需要Account。下一个最简单的方法是编写一个函数来在类型之间进行转换,如果您无法更改Account的实现,可以执行此操作。