FIGURE.H
#ifndef FIGURE_H
#define FIGURE_H
class Figure {
public:
virtual double Square() = 0;
virtual void Print() = 0;
virtual ~Figure() {};
};
#endif
TSTACKITEM.H
#ifndef TSTACKITEM_H
#define TSTACKITEM_H
#include "FIGURE.H"
class TStackItem {
public:
TStackItem(const std::shared_ptr<Figure> &obj);
friend std::ostream& operator<<(std::ostream &os, const TStackItem &obj);
std::shared_ptr<Figure> GetFigure() const;
std::shared_ptr<TStackItem> GetNext();
virtual ~TStackItem();
private:
std::shared_ptr<Figure> item;
std::shared_ptr<TStackItem> next;
};
#endif
TSTACKITEM.CPP
#include "TSTACKITEM.H"
#include <iostream>
std::ostream& operator<<(std::ostream &os, const TStackItem &obj){
os << obj.item << std::endl;
return os;
}
Здесь упорно выделяет красным item в obj.item
И пишет, что класс TStackItem не содержит члена item
Почему так - я же прописал: std::shared_ptr item;
Как исправить?
Все дело было в том, что я забыл подключить библиотеку #include < memory >
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости