Ах да, «друг» - самое страшное из ключевых слов, не совсем объектно-ориентированное, не совсем процедурное.Что ж, здесь снова возникают проблемы, у меня есть все возможные предупреждения, о которых я могу подумать, и все, что GCC может сказать мне, это то, что read poly () не объявлена в этой области (main.cpp).Может кто-нибудь помочь мне понять, что я делаю не так?Я попытался переставить код в read poly, но это не помогает, никакие другие прототипы функций, кажется, также не изменяют это поведение.Я просто знаю, что буду бить себя, когда узнаю, что это такое.
//main.cpp
#include "Polynomial.h"
int main()
{
Polynomial test = readPoly();
}
//Polynomial.h
class Polynomial
{
public :
/** creates the zero Polynomial and sets the default output character*/
Polynomial();
/** creates the constant Polynomial c */
Polynomial( int c );
/** creates a Polynomial with one term c*x^d */
Polynomial(int c, int d);
Polynomial(const Polynomial& toCopy);
friend const Polynomial readPoly();
void insert(Term* term);
}
//Polynomial.cpp
const Polynomial readPoly()
{
cout << "How many terms? ";
int termQty = 0;
cin >> termQty;
int coefficient,degree;
Polynomial newPoly;
for (int n = 0; n <= termQty; n++)
{
cin >> coefficient >> degree;
newPoly.insert(new Term(coefficient,degree));
newPoly.degreeCached = max(degree, newPoly.degreeCached);
}
return newPoly;
}