1

我对此感到非常沮丧,所以我真的可以使用一些帮助。

我在视觉工作室创建了一个新项目。我首先创建了一个名为“MyString,h”的新头文件并将其放在头文件夹中。它包含一个名为 String 的类。您可以在本文末尾看到我用于它的代码

我现在在源文件文件夹中也有一个 MyStringTest.cpp 文件。它有以下代码。

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

    int main() {
            String obj = "Hello";
        cout << obj(1,3);
    }

预期:编译并运行将输出“llo”的控制台程序现实:错误:'标识符'字符串'未定义

这是我在头文件中的一些代码......我真的无法适应所有这些。

    //1. Preprocessor commands - guards against multiple inclusions of the file MyString.h
    #ifdef __MYSTRING_H__
    #define __MYSTRING_H_
    #define _CRT_SECURE_NO_DEPRECATE
    #define _CRT_NONSTDC_NO_DEPRECATE

    //2. Include Files for String Methods and Assert
    #include<cstring> //strlen, strcpy, strcmp
    #include<cassert> //assert 
    #include<iostream> //cout, cin
    using namespace std;

    //3. Begin the String Class Interface
    class String{

    //4. Define the Public Members
    public:

        //5. Default Constructor
        String(); 

        //6. Constructor which converts a char* to a String object
        String(const char *s); 

……

4

1 回答 1

2

第一个代码行的一个小错误:你需要

#ifndef __MYSTRING_H__

否则,您将排除所有文件内容直到#endif

于 2012-07-09T23:11:09.750 回答