LINUX.ORG.RU

История изменений

Исправление Dudraug, (текущая версия) :

class MyFormatReader {};
class MyFormatWriter {};

struct ISerial
{
	virtual  void ReadData(MyFormatReader&) = 0;
	virtual  void WriteData(MyFormatWriter&) = 0;
};

class Vector {};

struct Data {};

class SerialVector : public Vector, public ISerial
{
public:
	virtual  void ReadData(MyFormatReader&)
	{

	}

	virtual  void WriteData(MyFormatWriter&)
	{

	}

};

void FillVector(Vector& v)
{

}

Data Serialize(ISerial& ser)
{
	return Data();
}

int main()
{
	SerialVector v;
	FillVector(v);
	auto data = Serialize(v);
        return 0;
}

где тут наследование интерфейса от реализации лолушка?

Исходная версия Dudraug, :

class MyFormatReader {};
class MyFormatWriter {};

struct ISerial
{
	virtual  void GetData(MyFormatReader&) = 0;
	virtual  void GetData(MyFormatWriter&) = 0;
};

class Vector {};

struct Data {};

class SerialVector : public Vector, public ISerial
{
public:
	virtual  void GetData(MyFormatReader&)
	{

	}

	virtual  void GetData(MyFormatWriter&)
	{

	}

};

void FillVector(Vector& v)
{

}

Data Serialize(ISerial& ser)
{
	return Data();
}

int main()
{
	SerialVector v;
	FillVector(v);
	auto data = Serialize(v);
        return 0;
}

где тут наследование интерфейса от реализации лолушка?