c++11 - 使用 ostream 和打印功能进行打印,具有内部功能
问题描述
我想打印多项式。我不知道这是语法问题还是我只是不明白
class polynom : public func {
public:
polynom(const int order, int* ptr_array);
polynom(const polynom& polynom_);
void printcoefs(ostream&) const ;
friend polynom operator+(polynom const &, polynom const &) ;
friend polynom operator-(polynom const &, polynom const &);
friend polynom operator*(polynom const &, polynom const &);
polynom operator=(polynom const & poly) { //assignment operator
int* ptr = new int[poly.n_ + 1];
for (int i = 0; i < poly.n_ + 1; i++)
ptr[i] = poly.coefs_[i];
return polynom(poly.n_, ptr);
}
polynom Derivative();
polynom Integral();
int funcout(const int& x) const;
friend ostream & operator<<(ostream& out, const polynom& polynom_);
~polynom();
void Print(ostream& out) const;
protected:
int n_; //order of the polynom
int* coefs_; //coefficients
};
这是我为打印功能写的
void polynom::Print(ostream &out) const {
printcoefs(cout);
cout << endl;
cout << "Derivative: ";
polynom der=this->Derivative; <-error here
der.printcoefs(cout);
cout << endl;
polynom inte =this->Integral;
cout << "Integral: ";
inte.printcoefs(cout);
cout << endl;
}
ostream & operator<<(ostream & out, const polynom & polynom_)
{
polynom_.Print(out);
return out;
}
它给了我错误 C3867 'polynom::Derivative': non-standard syntax; 如果我这样写,请使用“&”创建指向成员的指针。错误 C2276 '*': 对绑定成员函数表达式的非法操作,如果我尝试使用“this”作为指针。任何帮助将不胜感激
解决方案
推荐阅读
- java - 从 jdbc 执行 PLSQL 后读取 DBMS_Ouptut
- linux - 如何在 MAC OS 上将 Vertica 连接到 Python?我需要 Unix 还是 Linux 脚本?
- python - Python:使用 re.compile 处理异常
- python - CSV 文件不存在,Python,Pandas 数据框
- asp.net-mvc-4 - 如何通过asp.net MVC以编程方式检查Android中是否安装了应用程序?
- log4j - Dailyrollingfileappender 未创建超过 1 天的备份
- javascript - 在 vuex 中存储观察者?
- java - 如何在 nodejs spawn 方法中提供 -Dlogback.configurationFile=./logback.xml 选项
- prolog - 按另一个列表的项目数复制列表
- javascript - 查找唯一前缀并从字符串数组中删除