cydjw 2020-12-11 19:51 采纳率: 50%
浏览 25
已采纳

如何调用自己创造的头文件和类方法?

#include<fstream> 
#include<string> 
#define BUFFR_LEN      256
#define NIHLITY        0//虚无 
#define WALL           1//墙 
#define GROUND         2//地面 
#define STD_GROUND     3//人站的地方 
#define BOX            4//箱子 
#define UNFINISHED     5//未完成的目标 
#define FINISHED       6//
#define STD_UNFINISHED 7//完成的目标
#define T(N)         ((N)+'0')
using namespace std;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

class map{
private:
    char **p;
    int width;//宽 
    int height;//高 
public:
    void init(string filename){
        char buf[BUFFR_LEN]
        ifstream ifile(filename);
        ifile.seekg(0,ios::beg); 
        ifile.getline(buf,BUFFR_LEN);
        sscanf(buf,"%d x %d",&height,&width); 
        //行 height
        //列 width
        p = new int[height];
        for(int i = 0; i < height; i++){
            p[i] = new int[width];
            ifile.getline(p[i],width);
        }
        ifile.close() ; 
    }
    void prinMap(){
        for(int i = 0; i < height; i++){
            for(int j = 0; j < width; i++){
                swich(p[i][j]){
                    case '0'+
using namespace std;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

class map{
private:
    char **p;
    int width;//宽 
    int height;//高 
public:
    void init(string filename){
        char buf[BUFFR_LEN]
        ifstream ifile(filename);
        ifile.seekg(0,ios::beg); 
        ifile.getline("地图.txt");
        sscanf(buf,"%d x %d",&height,&width); 
        //行 height
        //列 width
        p = new int[height];
        for(int i = 0; i < height; i++){
            p[i] = new int[width];
            for(int j=0;j<i;j++){
                ifile.getline(p[i],width);
            }
        
        }
        ifile.close() ; 
void prinMap(){
        string s[8]={"  ","■","  ","★","■","□","■","☆"}
        for(int i = 0; i < height; i++){
            for(int j = 0; j < width; j++){
                cout<<s[p[i][j]-'0'];
            }
            cout<<endl;
        }    

}
}
另一个使用这个的代码:

#include<fstream> 
#include<iostream>
#include  "map.h"
using namespace std;

int main(){
    char buf[256];
    map();
    prinMap();
    return 0;  

 

(注:用c++解决)

  • 写回答

2条回答 默认 最新

  • include_iostream_ 2020-12-11 20:56
    关注

    要引用头文件,只要保证一件事:编译器找得到头文件。

    最简单的方法:include用双引号,双引号内写你的头文件相对于源文件的相对路径。

    用尖括号的话比较自由,但也比较复杂:

    GCC下,编译器首先查找命令中的-I选项,也没找到的话,它去找INCLUDE_PATH和CPLUS_INCLUDE_PATH环境变量。如果仍然没找到,它会去内部定义的系统目录去找。再找不到就会报错。Clang和这个好像差不多。

    MSBuild的cl有着类似的机制。编译器首先查找/I:选项,找不到的话,去找INCLUDE环境变量。再找不到,就会报错。(通过命令行调用cl时,得把标准库和Windows SDK也写在INCLUDE环境变量里)。

    如果使用Visual Studio,在项目右键菜单->属性->C++目录->包含目录里边设置就行了,和/I:选项效果一致。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿