1 c++ arrays string constructor class
我收到此代码的错误.'将char赋值给char [13]的类型不兼容'我无法弄清楚如何初始化这些数组并使其工作.基本上,该程序采用ISBN代码(4组整数,并在每组数字之间创建一个带有' - '的字符串)并验证它们是否正确.该程序使用ISBN类和主函数来加载实际的ISBN代码,并尝试使用ISBN类来测试它们.这就是我所拥有的.
class ISBN {
private:
char group[6];
char publisher[8];
char book[8];
char check;
char isbn[13];
char compute_check();
public:
ISBN();
ISBN(char newisbn[]);
ISBN(char group[ ], char publisher[ ], char book[ ], char check);
bool valid();
char *getpublisher();
void print(ostream &o);
};
ISBN::ISBN(char newisbn[]) : isbn(newisbn) {}
Run Code Online (Sandbox Code Playgroud)
程序加载这些ISBN号,然后按照以下方式使用ISBN类打印和测试它们......
strcpy(isbns[index++], "1-57676-074-X");
ISBN isbn(isbns[i]);
isbn.print(cout);
if (isbn.valid())
Run Code Online (Sandbox Code Playgroud)
我在将ISBN代码转换为ISBN类时遇到问题,因此可以通过这些功能对它们进行操作.任何帮助非常感谢!谢谢!
小智 7
这个:
ISBN::ISBN(char newisbn[]) : isbn(newisbn) {}
Run Code Online (Sandbox Code Playgroud)
不做你想做的事.尽管你可能已被告知,数组与指针不同 - 这里的构造函数采用指针(伪装成数组)并尝试使用它来初始化实际数组.你需要:
ISBN::ISBN(char newisbn[]) {
strcpy( isbn, newisbn );
}
Run Code Online (Sandbox Code Playgroud)
我还建议调查std :: string类以满足一般的字符串处理需求.
| 归档时间: |
|
| 查看次数: |
13536 次 |
| 最近记录: |