<?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[privat Problem]]></title><description><![CDATA[<p>Hiho.<br />
Folgendes Problem. meine Abgeleitete Klasse kann nicht auf das Private zeug zugreifen. Dabei muesste ich doch, nachdem ich sie abgeleitet habe auf die private variablen der oberen klasse genauso zugreifen können wie auf die neu hinzugekommenen.<br />
Das Programm:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;fstream&gt;
#include &lt;string&gt;

using namespace std;

class A{
private:
  string something;
public:
  A(string s):something(s){}
virtual ostream&amp;  print(ostream&amp; os){
  return os&lt;&lt;something;
}

friend  bool operator&lt;&lt;(ostream&amp; os,A&amp; klasse){
    return klasse.print(os);
  }
};

class B: public A{
private:
  int a;
public:
  B(int ia,string s):a(ia),A(s){}
ostream&amp;  print(ostream&amp; os){
  return os&lt;&lt;something&lt;&lt;a;
}
};

int main(){
  A a(&quot;Hallo&quot;);
  B b(5,&quot;Hallolo&quot;);

  ofstream of(&quot;t.txt&quot;);

  cout &lt;&lt;a;
  cout&lt;&lt;b;

  of&lt;&lt;a;
  of&lt;&lt;b;

  return 0;
}
</code></pre>
<p>Der Kompiler Error:</p>
<pre><code class="language-cpp">ab.cc: In member function `virtual std::ostream&amp; B::print(std::ostream&amp;)':
ab.cc:9: Fehler: »std::string A::something« ist privat
ab.cc:27: Fehler: in diesem Zusammenhang
</code></pre>
<p>hmm wo ist der Fehler.<br />
Brat mir einer nen :xmas2: ich komm nicht drauf<br />
MFG<br />
chewbo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167577/privat-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 16 Sep 2026 00:33:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167577.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Dec 2006 17:09:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to privat Problem on Tue, 12 Dec 2006 17:09:58 GMT]]></title><description><![CDATA[<p>Hiho.<br />
Folgendes Problem. meine Abgeleitete Klasse kann nicht auf das Private zeug zugreifen. Dabei muesste ich doch, nachdem ich sie abgeleitet habe auf die private variablen der oberen klasse genauso zugreifen können wie auf die neu hinzugekommenen.<br />
Das Programm:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;fstream&gt;
#include &lt;string&gt;

using namespace std;

class A{
private:
  string something;
public:
  A(string s):something(s){}
virtual ostream&amp;  print(ostream&amp; os){
  return os&lt;&lt;something;
}

friend  bool operator&lt;&lt;(ostream&amp; os,A&amp; klasse){
    return klasse.print(os);
  }
};

class B: public A{
private:
  int a;
public:
  B(int ia,string s):a(ia),A(s){}
ostream&amp;  print(ostream&amp; os){
  return os&lt;&lt;something&lt;&lt;a;
}
};

int main(){
  A a(&quot;Hallo&quot;);
  B b(5,&quot;Hallolo&quot;);

  ofstream of(&quot;t.txt&quot;);

  cout &lt;&lt;a;
  cout&lt;&lt;b;

  of&lt;&lt;a;
  of&lt;&lt;b;

  return 0;
}
</code></pre>
<p>Der Kompiler Error:</p>
<pre><code class="language-cpp">ab.cc: In member function `virtual std::ostream&amp; B::print(std::ostream&amp;)':
ab.cc:9: Fehler: »std::string A::something« ist privat
ab.cc:27: Fehler: in diesem Zusammenhang
</code></pre>
<p>hmm wo ist der Fehler.<br />
Brat mir einer nen :xmas2: ich komm nicht drauf<br />
MFG<br />
chewbo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190752</guid><dc:creator><![CDATA[chewbo]]></dc:creator><pubDate>Tue, 12 Dec 2006 17:09:58 GMT</pubDate></item><item><title><![CDATA[Reply to privat Problem on Tue, 12 Dec 2006 17:21:51 GMT]]></title><description><![CDATA[<p>privat bedeutet das nur genau die Klasse darauf zugrifen kann.<br />
Was Du willst nennt sich protected.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190760</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 12 Dec 2006 17:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to privat Problem on Tue, 12 Dec 2006 17:30:13 GMT]]></title><description><![CDATA[<p>Ahh cool. Hab ich das auchmal verstanden. Danke. Das heisst also wenn ich was in protected schreibe ist es private nur das die abgeleitete Klasse auch darauf zugreifen kann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190766</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190766</guid><dc:creator><![CDATA[chewbo]]></dc:creator><pubDate>Tue, 12 Dec 2006 17:30:13 GMT</pubDate></item><item><title><![CDATA[Reply to privat Problem on Tue, 12 Dec 2006 20:09:45 GMT]]></title><description><![CDATA[<p>Ja. Sind halt drei Zugriffs-Stufen:</p>
<p>privat: Nur die klasse selbst hat Zugriff.</p>
<p>protected: Abgeleitete Klassen haben auch Zugriff.</p>
<p>public: Auch andere Klassen haben Zugriff.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190856</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 12 Dec 2006 20:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to privat Problem on Wed, 13 Dec 2006 08:36:10 GMT]]></title><description><![CDATA[<p>Lass es lieber private und such dir eine andere Lösung. Auch protected verletzt die Kapselung deiner Objekteigenschaften. Ein Beispiel:</p>
<pre><code class="language-cpp">class Base
{
private:
	std::string foo;

public:
	Base( const std::string&amp; foo_ )
		: foo( foo_ )
	{}

	// ...

	virtual std::ostream&amp; print( std::ostream&amp; stream ) const
	{
		return stream &lt;&lt; foo;
	}
};

class Derived
	: public Base
{
private:
	int value;

public:
	Derived( const std::string&amp; foo_, int value_ )
		: Base( foo_ ), value( value_ )
	{}

	// ...

	virtual std::ostream&amp; print( std::ostream&amp; stream ) const
	{
		return Base::print( stream ) &lt;&lt; value;
	}
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1191018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191018</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Wed, 13 Dec 2006 08:36:10 GMT</pubDate></item></channel></rss>