/******************************************************************************
Welcome to GDB Online.
GDB online is an online compiler and debugger tool for C, C++, Python, PHP, Ruby,
C#, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS, JS
Code, Compile, Run and Debug online from anywhere in world.
*******************************************************************************/
#include <stdio.h>
template <typename T>
class LineLength
{
T const & Base() const { return *static_cast<T const *>(this); }
public:
float Length() const
{
return Base().stop - Base().start;
}
};
class Line : public LineLength<Line>
{
protected:
friend class LineLength<Line>;
float start, stop;
public:
Line(float start, float stop): start{start}, stop{stop} {}
};
int main()
{
Line line{1,3};
return line.Length();
}