C++简单程序帮助字符串数据

C++简单程序帮助字符串数据,c++,string,data-structures,C++,String,Data Structures,谢谢你提前帮助我!我习惯了java和C++,但是C++完全不同。我正在尝试做本实验室的B部分: 这是B部分中指定的想法吗?另外,我不知道在处理indef endif等的头文件中到底缺少了什么。我做了研究,似乎没有遗漏任何东西。最后,实验室作业的意思是什么:在[]操作符中,应该检查索引以确认它在0到9之间。如果不是,则应返回未定义的字符串。谢谢 好的,这是我的更新文件 #include "TenStrings.h" using namespace std; //Default Construc

谢谢你提前帮助我!我习惯了java和C++,但是C++完全不同。我正在尝试做本实验室的B部分:

这是B部分中指定的想法吗?另外,我不知道在处理indef endif等的头文件中到底缺少了什么。我做了研究,似乎没有遗漏任何东西。最后,实验室作业的意思是什么:在[]操作符中,应该检查索引以确认它在0到9之间。如果不是,则应返回未定义的字符串。谢谢

好的,这是我的更新文件

#include "TenStrings.h"

using namespace std;

//Default Constructor
TenStrings::TenStrings()
{
    public:

    TenStrings str[10];
    str[0] = "String 1";
    str[1] = "String 2";
    str[2] = "String 3";
    str[3] = "String 4";
    str[4] = "String 5";
    str[5] = "String 6";
    str[6] = "String 7";
    str[7] = "String 8";
    str[8] = "String 9";
    str[9] = "String 10";
}
;
main.cpp -------------*/

#include "TenStrings.h"
#include <iostream>

int main()
{
    TenStrings varTen;

    std::cout << str[2] << std::endl;
    return 0; 
}

我的头文件中是否也缺少一行:include

我注意到作业带有以下警告:

这是一项个人作业-您不能分组工作。不要为他人编写或口述代码,也不要使用他人的代码。如果你违反了这条规则,你可能会使整个课程不及格。 因此,我将只提供一些指导,而不是代码

首先,我不知道在哪里创建 新的数据字符串,是否应该 在我的header类或tenstrings.cpp中

任务说:

实现这个TenStrings类 它充当10的数组 常量数据字符串。从 基本[]运算符,以及 构造器

“工具”一词是关键。在您了解我猜您还没有了解的内容之前,在本例中,实现始终需要在一个cpp文件tenstrings.cpp中

我应该创建一个空数组吗 串?或字符串1的数组, 第二条、第三条等

任务说:

在构造函数中,10个字符串 最初应设置为“第一” 字符串、第二字符串等

换句话说,TenString类的构造函数应该使第一个字符串(即,在索引[0]处)具有第一个字符串的精确值;以此类推,直到索引[9]处的第十个字符串,其精确值为第十个字符串。显然,其目的是能够通过[]操作符更改这些赋值,您要将其作为TenString类的一部分编写

我希望这有帮助。我想我对作业的解释是正确的,但我不能保证这一点

哦,顺便说一下,不需要这条线:

#include <string>
因为赋值特别说明不要使用String类


编辑:另外,头文件的开头似乎缺少一行。缺少的行与作业中提到的ifndef/define/endif保护有关。

您研究过运算符重载吗?谢谢。我并不是真的在寻找代码。我真的很难理解这个问题,也无法开始。这很有帮助。我会继续努力,看看我能走多远,谢谢。我已经编辑了上面我的原创文章。你能看一下吗?谢谢,当我尝试使用make运行这个程序时,我得到了错误:加载共享库时出错:mysy-1.0.dll:无法打开共享对象文件:没有这样的文件..@user593301:这真的需要一个单独的问题。但这里有一些提示:1您将数组声明为局部变量。这意味着在构造函数完成后它将不存在。您需要将该数组声明为类的成员,这意味着它在.h文件中声明。2请记住,您需要在TenStrings类中定义[]运算符,以便类型为TenStrings的变量可以像数组一样工作。如果你不确定如何做到这一点,谷歌C++操作员重载。@ USE593301继续3我没有线索什么MySy1.0.DLL。此错误可能在makefile中;同样,这应该是一个单独的问题。在那里包含makefile的内容。