cydjw
cydjw
采纳率100%
2020-12-11 19:51

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

已采纳

#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_ include_iostream_ 4月前

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

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

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

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

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

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

    点赞 评论 复制链接分享
  • Tisfy Tisfy 4月前

    添加到一个项目中就可以了吧

    点赞 评论 复制链接分享

相关推荐