类中的类和指针

时间:2013-11-02 21:34:44

标签: c++ function class pointers header

所以代码的格式如下:

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() {...}

现在,这都在头文件中。但是,当我尝试在main中实现OutputList()函数时,它不会让我。我该如何解决这个问题,所以主要是函数会编译?

此外,我还有另一个在患者类范围之外定义的功能,例如:

patient Add(){...}

以Add()形式使用此函数时;在主要方面,它有效。

====== EDIT ===================================== =============================

我已经解决了编译问题并在main中定义了一个Register指针对象:

Register *q;

但是,我现在的问题是该函数不显示从add函数中获取的数据。我编辑的register :: OutputList()的主要代码是:

q -> OutputList();

这会编译,但它不会显示添加内容(应该如此)。我在想它指向程序中没有分配的内存?知道怎么解决吗?

2 个答案:

答案 0 :(得分:1)

您必须先创建一个Register对象,然后才能调用其任何函数。如果你需要指针那么它必须被初始化,所以它指向对象。一种方法是......

Register* q = new Register();

答案 1 :(得分:0)

  
    

现在,这都在头文件中。但是,当我尝试在main中实现函数>> OutputList()时它不会让我。我该如何解决这个问题,所以主要是函数会编译?

  

我没有完全找到您,但Register *q;在您的代码中未初始化;