在单独的文件c ++中的类

时间:2016-12-20 16:10:38

标签: c++ file class

您好我正在使用C ++编写CLR应用程序。经过几个小时的工作,我决定将类移动到不同的文件比将所有内容放在同一个文件中更好。我创建了新的头文件和新的cpp文件,但我只是一个初学者,所以我有可能做错了。

这是我的头文件

#pragma once

class Show {
public:
    void Show::show_all(int num, int id_master, int id_slave, int periferia, int data);
}; 

我的cpp文件(只是简单的打印功能)

#include "Show.h"
#include <stdio.h>

class Show{
private:
    void show_all(int num, int id_master, int id_slave, int periferia, int data) {

    printf("%d\n", num);
    printf("id of mastra is: %d\n", id_master);
    printf("id of slave is: %d\n", id_slave);
    printf("id of device is: %d\n", periferia);
    printf("in data part %d\n", data);

    };
};

然后在主要我正在做这样的事情

Show sh;

然后,当我尝试像这样调用我的函数时

sh.vypis_vsetko(num, id_master, id_slave, periferia, data);

但是我得到了许多我不理解的错误(全部都在主要功能中)

  • 'sp':未声明的标识符(总是在我提及时)
  • '显示':未声明的标识符
  • '.show_all'左边的
  • 必须有class / struct / union
  • 语法错误:缺少';'在标识符'sh'之前

我花了很多时间试图解决这个问题,但没有任何结论。 我将非常感谢任何建议。

1 个答案:

答案 0 :(得分:4)

对于初学者,在头文件中,声明一个类方法,而不会在类名前加上方法名:

.cpp

最后,在void Show::show_all(int num, int id_master, int id_slave, int periferia, int data) { printf("%d\n", num); // the rest of the code. 文件中定义类方法是在没有类声明的情况下完成的:

#include

您已在{{1}} d头文件中声明了该类。