#include <string>
using std::string;
struct Point {};
// Element.h
enum orientation{ up, down, left, right };
class Element{
public:
float get_value() ;
string get_unit();
Point get_start_point();
protected:
//Element(); // To prevent instatiation
float value;
const string unit;
Point starting_point;
orientation direction;
};
class Resistance : public Element{
public:
Resistance(Point,float,orientation);
private :
const string unit = "Kohm";
};
//Element.cpp
float Element::get_value(){
return value;
};
string Element::get_unit(){
return unit;
}
Point Element::get_start_point()
{
return starting_point;
}
Resistance::Resistance(Point p, float value, orientation direction){
Resistance::starting_point = p;
Resistance::value = value;
Resistance::direction = direction;
}
int main() {}
I2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgc3RkOjpzdHJpbmc7CgpzdHJ1Y3QgUG9pbnQge307CgovLyBFbGVtZW50LmgKZW51bSBvcmllbnRhdGlvbnsgdXAsIGRvd24sIGxlZnQsIHJpZ2h0IH07CgogY2xhc3MgRWxlbWVudHsKcHVibGljOgogICAgZmxvYXQgZ2V0X3ZhbHVlKCkgIDsKICAgIHN0cmluZyBnZXRfdW5pdCgpOwogICAgUG9pbnQgZ2V0X3N0YXJ0X3BvaW50KCk7CnByb3RlY3RlZDoKICAgIC8vRWxlbWVudCgpOyAvLyBUbyBwcmV2ZW50IGluc3RhdGlhdGlvbgogICAgZmxvYXQgdmFsdWU7CiAgICBjb25zdCBzdHJpbmcgdW5pdDsKICAgIFBvaW50IHN0YXJ0aW5nX3BvaW50OwogICAgb3JpZW50YXRpb24gZGlyZWN0aW9uOwoKIH07CgpjbGFzcyBSZXNpc3RhbmNlIDogcHVibGljIEVsZW1lbnR7CnB1YmxpYzoKICAgIFJlc2lzdGFuY2UoUG9pbnQsZmxvYXQsb3JpZW50YXRpb24pOwpwcml2YXRlIDoKICAgIGNvbnN0IHN0cmluZyB1bml0ID0gIktvaG0iOwp9OwoKLy9FbGVtZW50LmNwcApmbG9hdCBFbGVtZW50OjpnZXRfdmFsdWUoKXsKcmV0dXJuIHZhbHVlOwp9OwpzdHJpbmcgRWxlbWVudDo6Z2V0X3VuaXQoKXsKICAgIHJldHVybiB1bml0Owp9ClBvaW50IEVsZW1lbnQ6OmdldF9zdGFydF9wb2ludCgpCnsKICAgIHJldHVybiBzdGFydGluZ19wb2ludDsKfQpSZXNpc3RhbmNlOjpSZXNpc3RhbmNlKFBvaW50IHAsIGZsb2F0IHZhbHVlLCBvcmllbnRhdGlvbiBkaXJlY3Rpb24pewoKICAgIFJlc2lzdGFuY2U6OnN0YXJ0aW5nX3BvaW50ID0gcDsKICAgIFJlc2lzdGFuY2U6OnZhbHVlID0gdmFsdWU7CiAgICBSZXNpc3RhbmNlOjpkaXJlY3Rpb24gPSBkaXJlY3Rpb247Cn0KCmludCBtYWluKCkge30=