C++ C++;:对象和数组/循环

C++ C++;:对象和数组/循环,c++,arrays,loops,C++,Arrays,Loops,因此,我能够创建代码,用颜色/字母/形状显示不同的部分。现在我想知道如何才能显示一个对象1,它有一种颜色、一个字母和一个形状?例如,它可以显示:对象1:彩色字母形状,或类似的东西?我需要对4个对象执行此操作。以下是我迄今为止所做的工作: #include <iostream> #include <string> using namespace std; int main() { string Color[] = { "Red", "Blue", "Green"

因此,我能够创建代码,用颜色/字母/形状显示不同的部分。现在我想知道如何才能显示一个对象1,它有一种颜色、一个字母和一个形状?例如,它可以显示:对象1:彩色字母形状,或类似的东西?我需要对4个对象执行此操作。以下是我迄今为止所做的工作:

#include <iostream>
#include <string>

using namespace std;
int main() {

    string Color[] = { "Red", "Blue", "Green", "Purple", "Yellow",
        "Black", "White", "Orange", "Brown" };

    for (const auto& s : Color) 
        cout << s << '\t'; 

    cout << endl; // endl adds a new line
    cout << endl;
    string Object[] = { "Square", "Triangle", "Circle", "Rectangle", "Oval" };
    for (const auto& s : Object)
        cout << s << '\t';

    cout << endl;
    cout << endl;
    string Alphabet[] = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
        for (const auto& s : Alphabet)
            cout << s << '\t';




    return 0;
#包括
#包括
使用名称空间std;
int main(){
字符串颜色[]={“红色”、“蓝色”、“绿色”、“紫色”、“黄色”,
“黑色”、“白色”、“橙色”、“棕色”};
用于(const auto&s:Color)

cout这是我想到的。我能够在记忆中循环

#include <iostream>
#include <string>
#include <vector>

namespace {
    const std::vector<std::string> COLOR = { "Red", "Blue", "Green", "Purple", "Yellow", "Black", "White", "Orange", "Brown" };
    const std::vector<std::string> SHAPE = { "Square", "Triangle", "Circle", "Rectangle", "Oval" };
    const std::vector<std::string> LETTER = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
        "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
}


struct Obj {
    std::string color, letter, shape;
};

int main()
{

    Obj obj = { COLOR[0], LETTER[17], SHAPE[3] };

    for (int i = 0; i < 3; ++i) {
        std::cout << *(std::string*)((std::string*)&obj + i) << ' ';
    }

    std::cout << std::endl;
}
#包括
#包括
#包括
名称空间{
矢量颜色={“红色”、“蓝色”、“绿色”、“紫色”、“黄色”、“黑色”、“白色”、“橙色”、“棕色”};
const std::vector SHAPE={“正方形”、“三角形”、“圆形”、“矩形”、“椭圆形”};
常量std::向量字母={A”,“B”,“C”,“D”,“E”,“F”,“G”,“H”,“I”,“J”,“K”,
“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”};
}
结构对象{
标准:字符串颜色、字母、形状;
};
int main()
{
Obj Obj={颜色[0],字母[17],形状[3]};
对于(int i=0;i<3;++i){

std::cout这是我想到的。我能够循环记忆

#include <iostream>
#include <string>
#include <vector>

namespace {
    const std::vector<std::string> COLOR = { "Red", "Blue", "Green", "Purple", "Yellow", "Black", "White", "Orange", "Brown" };
    const std::vector<std::string> SHAPE = { "Square", "Triangle", "Circle", "Rectangle", "Oval" };
    const std::vector<std::string> LETTER = { "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K",
        "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" };
}


struct Obj {
    std::string color, letter, shape;
};

int main()
{

    Obj obj = { COLOR[0], LETTER[17], SHAPE[3] };

    for (int i = 0; i < 3; ++i) {
        std::cout << *(std::string*)((std::string*)&obj + i) << ' ';
    }

    std::cout << std::endl;
}
#包括
#包括
#包括
名称空间{
矢量颜色={“红色”、“蓝色”、“绿色”、“紫色”、“黄色”、“黑色”、“白色”、“橙色”、“棕色”};
const std::vector SHAPE={“正方形”、“三角形”、“圆形”、“矩形”、“椭圆形”};
常量std::向量字母={A”,“B”,“C”,“D”,“E”,“F”,“G”,“H”,“I”,“J”,“K”,
“L”、“M”、“N”、“O”、“P”、“Q”、“R”、“S”、“T”、“U”、“V”、“W”、“X”、“Y”、“Z”};
}
结构对象{
标准:字符串颜色、字母、形状;
};
int main()
{
Obj Obj={颜色[0],字母[17],形状[3]};
对于(int i=0;i<3;++i){

std::cout您可能想要创建一个对象类(尝试给它一个更有意义的名称),它有一个shape属性和一个letter属性。这样,每个对象都有自己的属性,这将使您想要完成的任务变得更容易! 您将能够执行以下操作:

Object myObj = new Object("red", "A", "circle");
cout << myObj.color << myObj.letter << myObj.shape << endl;
Object myObj=新对象(“红色”、“A”、“圆形”);

cout您可能想要创建一个对象类(尝试给它一个更有意义的名称),它有一个shape属性和一个letter属性。这样,每个对象都有自己的属性,这将使您想要完成的任务变得更容易! 您将能够执行以下操作:

Object myObj = new Object("red", "A", "circle");
cout << myObj.color << myObj.letter << myObj.shape << endl;
Object myObj=新对象(“红色”、“A”、“圆形”);

CUT C++没有提供任何可移植的方式。有Windows的方法(例如,见SETCONSOLETExtEtgRead)和Linux(例如,参见NCURSE)如果你需要实用的移植性,你可以通过对类似于UNIX的系统的NICKE和Windows上的PDCURCE来进行。也许你应该从面向对象的编程开始,一本书,一个类,一个教程。C++不提供任何可移植的方式。(例如,参见课程)。如果您需要实用的可移植性,您可能可以在类似UNIX的系统上使用ncurses,在Windows上使用pdcurses。也许您应该从一本关于面向对象编程的书、课程或教程开始?那么,我是否可以将此代码放在我已有的代码下面,并且可以使用?我修改了我的答案,以包含完整的程序。只是为了et你知道,实际上这不是一个很好的方法。应该避免像这样在内存中循环,我看不出有多大的实际用途。有没有放置多个对象的方法?你会推荐什么其他方法?那么我会把这个代码放在我已有的代码下面,它会工作吗?我修改了我的答案,以包含完整的内容程序。让你知道,实际上这不是一个很好的方法。应该避免像这样在内存中循环,我看不出有什么实际用途。有没有放置多个对象的方法?你会推荐什么其他方法?我觉得他想使用循环来循环成员,就像他在示例中使用循环一样。如果没有,那么这个答案应该涵盖它。他有点不清楚。我觉得他想使用循环来循环成员,就像他在示例中使用循环一样。如果没有,那么这个答案应该涵盖它。他有点不清楚。