gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 01:41:25 25 4
gpt4 key购买 nike

您好,我正在使用 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' 的左边必须有类/结构/union
  • 语法错误:缺少“;”在标识符“sh”之前

我花了很多时间试图解决这个问题,但没有任何结论。如果有任何建议,我将不胜感激。

最佳答案

对于初学者来说,在头文件中,声明一个类方法不需要在方法名前加上类名前缀:

class Show {
public:

void show_all(int num, int id_master, int id_slave, int periferia, int data);
};

最后,在 .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.

您已经在 #included 头文件中声明了该类。

关于c++ - 类在单独的文件中 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41246636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com