Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ CharConverter未知错误_C++_Modularization - Fatal编程技术网

C++ CharConverter未知错误

C++ CharConverter未知错误,c++,modularization,C++,Modularization,我正在创建一个程序,以下是规范: 创建对字符串执行各种操作的CharConverter类。首先,它应该具有以下两个公共成员功能 大写成员函数接受一个字符串并返回该字符串的副本,其中所有小写字母都转换为大写。如果一个字符已经是大写或不是字母,则应将其单独保留 properWords成员函数接受一个由空格分隔的单词字符串,并返回该字符串的一个副本,其中每个单词的第一个字母都转换为大写 编写一个使用该类的简单程序。它应该提示用户输入一个字符串。然后它应该调用properWords函数并显示这个结果字符

我正在创建一个程序,以下是规范:

创建对字符串执行各种操作的CharConverter类。首先,它应该具有以下两个公共成员功能

大写成员函数接受一个字符串并返回该字符串的副本,其中所有小写字母都转换为大写。如果一个字符已经是大写或不是字母,则应将其单独保留

properWords成员函数接受一个由空格分隔的单词字符串,并返回该字符串的一个副本,其中每个单词的第一个字母都转换为大写

编写一个使用该类的简单程序。它应该提示用户输入一个字符串。然后它应该调用properWords函数并显示这个结果字符串。最后,它应该调用大写函数并显示结果字符串

我写的程序没有模块化,以确保我转换的一切都是正确的。现在我正在尝试模块化,我得到了错误,我不知道它们是什么意思,编译时:

这是我的密码:

#include<iostream>
#include<string>
#include<vector>
#include<ctype.h>

using namespace std;

class CharConverter {

public:
void uppercase(string, int);
void properWords(string, int);

};

void CharConverter::uppercase(string myString, int s) {

s = myString.length();

for (int i = 0; i <= s; i++) {

    myString[i] = toupper(myString[i]);

}

cout << myString << endl;

}

void CharConverter::properWords(string myString, int s) {

for (int i = 0; i <= s; i++) {
    myString[i];

    myString[0] = toupper(myString[0]);

    if (myString[i] == ' ') {
        myString[i + 1] = toupper(myString[i + 1]);
    }
}

cout << myString << endl;
}


int main() {

void properWords(string, int);
void uppercase(string, int);


string sentence;
int size;

cout << "Enter a sentence you want converted to all uppercase letters and 
set up with proper uppercase letters." << endl;
getline(cin, sentence);

size = sentence.length();

properWords(sentence, size);

uppercase(sentence, size);

return 0;
}
#包括
#包括
#包括
#包括
使用名称空间std;
类CharConverter{
公众:
无效大写字母(字符串,int);
无效属性词(字符串,int);
};
void CharConverter::大写(字符串myString,int s){
s=myString.length();

对于(int i=0;i,在main的开头

int main() {

void properWords(string, int);
void uppercase(string, int);
声明另外两个函数,不是
CharConverter
的一部分。然后调用这些函数,而不是前面定义的函数

所以编译器(链接器)抱怨说它找不到这些非成员函数,这是真的,它们不存在


现在您必须决定是否需要一个类。在这种情况下,创建一个类对象并调用成员函数。或者跳过类声明并使函数成为自由函数。

请以文本形式发布错误消息。如果单击“图像”,它将放大。@KennyFreeman,这不是重点。StackOverflow准则是发布代码和错误R消息是文本,不是图像。外部资源的链接会中断时间。问题本身应该尽可能地包含自个中。图像应该用来增强问题,而不是托管问题的内容。我觉得这是简单的。C++似乎比我在java中做的要复杂得多。谢谢。@肯尼-C++没有什么类似Java。你可以在C++中拥有一个类,所有代码< java >静态/<代码>函数,但是你不需要。你可以有函数,没有类。我们中的一些人相信这并不复杂。