<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Objekt-Array initialisieren?]]></title><description><![CDATA[<p>High!</p>
<p>Ich habe folgendes Problem:<br />
Als erste Übung im objektorientierten Programmieren möchte ich ein Kommandozeilenprogramm (&quot;bl&quot;, für &quot;big letters&quot;) schreiben, das anhand eines als Parameter übergebenen Zeichens (z. B. #), gefolgt von einer Zeichenkette, ebendiese Zeichenkette als Blockgrafik auf der Konsole ausgibt.</p>
<p>Beispiel:</p>
<p>bl # Forum</p>
<p>ergibt:</p>
<h5></h5>
<h1></h1>
<p>### ### # ### # # # ## ##<br />
# # # ## # # ## # #<br />
# # # # # # # # #<br />
# ### # ### # # #</p>
<p>Von einer Klasse</p>
<p>class letter<br />
{<br />
private:<br />
bool <em>matrix[9][7]; // Matrix aus Bitwerten zur Darstellung der Zeichen<br />
short ewid; // effektive Breite des Zeichens, da Proportionalschrift<br />
public:<br />
void display(char c, char</em> s)<br />
{<br />
// noch zu programmieren<br />
}<br />
}</p>
<p>will ich ein Array-Objekt erstellen, das die 94 druckbaren Zeichen des 7bit-ASCII aufnimmt, also</p>
<p>letter *ascii[94]</p>
<p>Nur, wie initialisiere ich so etwas? Mein &quot;Breymann&quot; läßt mich da auch ziemlich im Unklaren...</p>
<p>Etwa so:</p>
<p>letter *ascii[94]=<br />
{ // Zeichen 0: !<br />
{<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 0, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 }<br />
}, 1, // effektive Breite (ewid)<br />
// Zeichen 1: &quot;<br />
{<br />
{ 1, 0, 1, 0, 0, 0, 0, ... usw.</p>
<p>...<br />
}</p>
<p>Oder bin ich da komplett auf dem Holzweg?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/136353/objekt-array-initialisieren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 11:19:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/136353.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 09 Feb 2006 13:01:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Objekt-Array initialisieren? on Thu, 09 Feb 2006 13:01:44 GMT]]></title><description><![CDATA[<p>High!</p>
<p>Ich habe folgendes Problem:<br />
Als erste Übung im objektorientierten Programmieren möchte ich ein Kommandozeilenprogramm (&quot;bl&quot;, für &quot;big letters&quot;) schreiben, das anhand eines als Parameter übergebenen Zeichens (z. B. #), gefolgt von einer Zeichenkette, ebendiese Zeichenkette als Blockgrafik auf der Konsole ausgibt.</p>
<p>Beispiel:</p>
<p>bl # Forum</p>
<p>ergibt:</p>
<h5></h5>
<h1></h1>
<p>### ### # ### # # # ## ##<br />
# # # ## # # ## # #<br />
# # # # # # # # #<br />
# ### # ### # # #</p>
<p>Von einer Klasse</p>
<p>class letter<br />
{<br />
private:<br />
bool <em>matrix[9][7]; // Matrix aus Bitwerten zur Darstellung der Zeichen<br />
short ewid; // effektive Breite des Zeichens, da Proportionalschrift<br />
public:<br />
void display(char c, char</em> s)<br />
{<br />
// noch zu programmieren<br />
}<br />
}</p>
<p>will ich ein Array-Objekt erstellen, das die 94 druckbaren Zeichen des 7bit-ASCII aufnimmt, also</p>
<p>letter *ascii[94]</p>
<p>Nur, wie initialisiere ich so etwas? Mein &quot;Breymann&quot; läßt mich da auch ziemlich im Unklaren...</p>
<p>Etwa so:</p>
<p>letter *ascii[94]=<br />
{ // Zeichen 0: !<br />
{<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 },<br />
{ 0, 0, 0, 0, 0, 0, 0 },<br />
{ 1, 0, 0, 0, 0, 0, 0 }<br />
}, 1, // effektive Breite (ewid)<br />
// Zeichen 1: &quot;<br />
{<br />
{ 1, 0, 1, 0, 0, 0, 0, ... usw.</p>
<p>...<br />
}</p>
<p>Oder bin ich da komplett auf dem Holzweg?</p>
<p>Bis bald im Khyberspace!</p>
<p>Yadgar</p>
]]></description><link>https://www.c-plusplus.net/forum/post/990088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990088</guid><dc:creator><![CDATA[Yadgar]]></dc:creator><pubDate>Thu, 09 Feb 2006 13:01:44 GMT</pubDate></item><item><title><![CDATA[Reply to Objekt-Array initialisieren? on Thu, 09 Feb 2006 13:45:54 GMT]]></title><description><![CDATA[<p>leider kann man objekte nicht genauso bequem initialisieren wie c-arrays. deshalb mußt du das im programm mit einer schleife machen.</p>
<pre><code class="language-cpp">bool init_matrix[94][9][7] = { ... };

for(int i=0; i&lt;94; ++i)
  ascii[i]=new letter(init_matrix[i]);
</code></pre>
<p>und einen konstruktor braucht deine klasse auch noch. etwa</p>
<pre><code class="language-cpp">letter (bool (&amp;matrix)[9][7]) { ... }
</code></pre>
<p>außerdem solltest du matrix als bool und nicht als bool* deklarieren.</p>
<p>EDIT: deinen code solltest du formatiert posten. per cut&amp;paste einfügen, markieren und unten den &quot;C/C++&quot;-knopf drücken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/990120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/990120</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Thu, 09 Feb 2006 13:45:54 GMT</pubDate></item></channel></rss>