我在学校为 windows 开发了一个工作框架,其中包含 windows 工作所需的所有类和方法。这是几个类的一部分的示例,我不会在这里粘贴所有代码。
Widget.h(基类)
class Widget {
public:
Widget(...);
...
virtual std::string getLabel() const;
virtual void setLabel(const std::string label);
...
private:
std::string m_label;
Widget* m_parent;
Measure m_position; // struct: int x, int y
Measure m_size;
};
按钮.h
class Button : public Widget {
public:
Button(...);
...
virtual void setTarget(Widget* target);
...
private:
Widget* m_target;
};
LineEdit.h
class LineEdit : public Widget {
public:
LineEdit(...);
...
virtual void setMaximumLenght(int lenght);
...
private:
int m_maximumLength;
};
等等……这些都只是头文件,我在对应的.cpp
文件里面实现了方法等。
我这段时间的作业是在 Objective-C 和 Cocoa 中为 Mac 的 OS-X 实现它们,因此标头在 OS-X 和 Windows 中都可以使用。我可以自己休息,但我想知道如何在 OS-X 中使用这些头文件,因此只需将实现重写为一个.m
文件,而不是.cpp
. 有任何想法吗?我对这个东西很陌生。