【发布时间】:2020-11-21 01:35:50
【问题描述】:
我想制作一个Class Color,并声明2个Class Color对象分别存储暖色和冷色列表。
如何初始化一个 char 指针数组并在 C++ 的构造函数中定义它?
.h
Const int MAX = 5;
Class Color {
Char* list[MAX];
Int numList;
}
.cpp
//default constructor
Color() {
list[MAX] = nullptr;
numList = 0;
}
//custom constructor
Color(char* list_, int numList_) {
for (int i = 0; i < num_List_; i++) {
list[i] = list_[i];
}
numList = numList_;
}
main.cpp
//declaring 2 objects of Class Color
Color warm_color;
Char warmList = {red, pink, orange, yellow, brown};
Color cold_color;
Char coldList = {“green”, “blue”, “navy”};
warm_color = Color(warmList, 5);
cold_color = Color(coldList, 3);
【问题讨论】:
-
请贴出真实代码。要么你发明了一种叫做
Char的东西,但完全没有描述它,或者你真的是指char。如果您不发布实际上拥有的代码,您只会得到指出您发布的代码中的错误的答案,而不是您真正使用的代码中的错误。 -
欢迎堆栈溢出。为什么要使用指向
char数组的指针?为什么不只是char list[MAX];?你知道std::string的存在吗 -
C++ 是一种区分大小写的语言。此外,您声明了
class Color的方法,就好像您声明了普通函数一样。您需要使用方法的完整限定 ID,即Color::Color()。 -
你真的应该找一本好的 C++ 入门书
-
除了所有语法错误和你的问题之外,一个名为
Color的类应该模拟“颜色”而不是“颜色列表”,不使用误导性名称是必不可少的
标签: c++ arrays pointers constructor char