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

casting struct from c into c++ class

本文关键字:c++ 转换 结构      更新时间:2023-10-16

我在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;
};

是否可以将信息从结构强制转换到类中?最好的方法是什么?谢谢

从C结构派生类。然后继承数据成员,只需要添加方法。

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

我要做的是向类添加一个转换构造函数:

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

这意味着您将能够使用account,而程序的其余部分则需要Account。下一个最简单的方法是编写一个函数在类型之间进行转换,如果您不能更改Account的实现,您可能会这样做。