第 3 周作业
作业一:
请用组合设计模式编写程序,打印输出图 1 的窗口,窗口组件的树结构如图 2 所示,打印输出示例参考图 3。
类图设计如下:
代码设计如下:
void Window::print()
{
for( next = 遍历list )
{
next->print();
}
}
void Frame::print()
{
for( next = 遍历list )
{
next->print();
}
}
int main( void )
{
Base* window = new Window("WINDOW窗口");
Base* picture = new Picture("LOGO图片");
Base* button1 = new Button("登陆");
Base* button2 = new Button("注册");
Base* frame = new Frame("FRAME1");
Base* lable = new Lable("用户名");
Base* textbox = new TextBox("文本框");
Base* lable = new Lable("密码");
Base* password = new PasswordBox("密码框");
Base* checkbox = new CheckBox("复选框");
Base* textbox = new TextBox("记住用户名");
Base* linklabe = new LinkLable("忘记密码");
window->register(picture);
window->register(button1);
window->register(button2);
window->register(frame);
frame->register(lable);
frame->register(textbox);
frame->register(lable);
frame->register(password);
frame->register(checkbox);
frame->register(textbox);
frame->register(linklabe);
window->print();
}
评论