したがって、コードの形式は次のようになります。
class patient{
public:
char FirstName[30];
char LastName[30];
char SID[20];
};
class Register{
private:
int PatientNum;
patient List[];
public:
void OutputList ();
};
その後、次のようにレジスタを使用して関数を取得しました。
void Register::OuputList() {...}
さて、これはすべてヘッダーファイルにあります。ただし、メインに関数 OutputList() を実装しようとすると、それができません。これについてどうすればよいので、メインで関数がコンパイルされますか?
また、次のような患者クラスのスコープ外で定義された別の関数があります。
patient Add(){...}
この関数を Add() の形式で使用する場合。主に、それは動作します。
=========編集====================================== ==========================
コンパイルの問題を修正し、メインで Register ポインター オブジェクトを定義しました。
Register *q;
ただし、私の問題は、関数が add 関数から取得されたデータを表示しないことです。register::OutputList() の私の編集したメインコードは次のとおりです。
q -> OutputList();
これはコンパイルされますが、追加から何も表示されません(本来あるべきです)。プログラムに割り当てられたメモリがないことを指していると思いますか? 修正方法はありますか?