【发布时间】:2017-01-01 08:44:25
【问题描述】:
NTL 如何将多项式(ZZX 或 ZZ_pX)转换为字符串以及如何将字符串输入分配给多项式,如 cin 和 cout 运算符?
我尝试如下:
ZZX a = conv<ZZX>("[2 3 12]")
但它会出错。
【问题讨论】:
-
你得到什么错误?你应该考虑用它来更新你的帖子。
-
ZZX没有conv方法char数组
NTL 如何将多项式(ZZX 或 ZZ_pX)转换为字符串以及如何将字符串输入分配给多项式,如 cin 和 cout 运算符?
我尝试如下:
ZZX a = conv<ZZX>("[2 3 12]")
但它会出错。
【问题讨论】:
从错误消息中可以看出:没有函数 conv 可以将字符串转换为多项式或其他方式。
您可以在所有 NTL 对象上使用<<,例如
ZZX p;
p.SetLength(3);
p[0] = 0; p[1] = 1; p[2] = 2;
cout << p << endl; // output: [0 1 2]
要将字符串读入ZZX 对象,您需要编写自己的函数。这取决于您实际获得输入的方式。如果从文件中读取,则需要从字符串中获取数字并通过[] 运算符设置它们。如果通过控制台输入,可以跳过字符串直接构建ZZX对象。
最后你可以用它来重载conv函数。
【讨论】: