Добрый вечер, нужна помощь по книге Стенли Липмана, я вставил несколько кодов из задания, компилятор все равно ругается, подправьте меня пожалуйста

введите сюда описание изображения

#include<iostream>

#include<string>

#include<cstring>

#include<cmath>

#include<cstring>

#include<cctype>

using namespace std;

namespace NS{

    class complex {

    public:

        complex(double);

        complex();

    };

    class LongDouble {

        friend LongDouble operator-(LongDouble&, int) { return 1; }

    public:

        LongDouble(int);

        operator int();

        LongDouble operator-(const complex&);

    };

    int main() {

        NS::LongDouble id(23);

        NS::LongDouble ur(23);

        cout << id << " and " << ur << endl;

        return 0;

    };

Ответы (1 шт):

Автор решения: Harry

Ну что "не решает"? Ва же сказали, что main надо вынести и методы реализовать. Как только вы это сделаете - код скомпилируется.

Например:

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<cstring>
#include<cctype>

using namespace std;
namespace NS{

    class complex {
    public:
        complex(double);
        complex();
    };

    class LongDouble {
        friend LongDouble operator-(LongDouble&, int) { return 1; }
    public:
        LongDouble(int){};
        operator int() { return 1;};
        LongDouble operator-(const complex&);
    };
}
int main() {
    NS::LongDouble id(23);
    NS::LongDouble ur(23);
    cout << id << " and " << ur << endl;
    return 0;
};

Только учтите, что "компилируется" (те заглушки, что я дописал) и "работает" — это две ну очень большие разницы...

→ Ссылка