Line 1: | Line 1: | ||
− | '''Exercício de C++ da semana 09 -- entregar exclusivamente em papel na aula prática da semana 10.''' | + | '''Exercício de C++ da semana 09 -- entregar exclusivamente, em papel A4 manuscrito, na aula prática da semana 10.''' |
== Composite (padrão de desenho) == | == Composite (padrão de desenho) == |
Exercício de C++ da semana 09 -- entregar exclusivamente, em papel A4 manuscrito, na aula prática da semana 10.
Uma página (Page) é constituída por parágrafos (Paragraph), cada um dos quais contém uma ou mais linhas de texto (Span) e/ou imagens (Image). Os conceitos podem estar aninhados: as páginas podem conter outras páginas e os parágrafos podem conter páginas ou outros parágrafos. Todos os elementos implementam o método render, que produz representações XML, como se indica abaixo. Uma página começa com <page> e termina com </page>, sendo listadas entre as marcas as representações correspondentes aos elementos internos. Analogamente, os parágrafos são delimitados por <p> e </p>; as linhas são delimitadas por <span> e </span> (o texto é representado por TEXT); e as imagens são marcadas por <img src="IMG"/>. Escreva uma função main (e todas as classes auxiliares) que ilustre o funcionamento para o seguinte caso:
<page>
<p>
<span>TEXT</span>
<span>TEXT</span>
</p>
<p>
<img src="IMG"/>
</p>
</page>