{"id":1108,"date":"2016-01-12T16:08:41","date_gmt":"2016-01-12T16:08:41","guid":{"rendered":"http:\/\/coolt.ch\/notizen\/?p=1108"},"modified":"2016-01-12T16:08:48","modified_gmt":"2016-01-12T16:08:48","slug":"abstrakte-klasse","status":"publish","type":"post","link":"https:\/\/coolt.ch\/notizen\/abstrakte-klasse\/","title":{"rendered":"Abstrakte Klasse"},"content":{"rendered":"<p>Abstrakte Klassen enthalten keinen Code. Sie definieren nur die <strong>Schnittstelle<\/strong>. Sie k\u00f6nnen nicht instaziert werden!<br \/>\nF\u00fcr die Instanzierung muss zuerst eine abgeleitete Klasse gebildet werden, welche die Schnittstellen definiert.<br \/>\nAbstrakte Funktionen sind ein Spezialfall bzw. der extremste Fall einer virtuellen Funktion. Sie werden<strong> pure virutal classes<\/strong> genannt.<\/p>\n<pre class=\"lang:c++ decode:true\">\/\/ nicht instanzierbar\r\nclass B {\r\n\r\n   public:                \/\/ k\u00f6nnen nur public sein\r\n   virtual void f() <strong>= 0<\/strong>;  \/\/ = 0, damit pure ist\r\n   virtual void g() = 0;\r\n}<\/pre>\n<p>.<\/p>\n<pre class=\"lang:sh decode:true\">\/\/ abgeleitet Funktion ist instanzierbar\r\nclass B1 : public B {\r\n  public:\r\n      void f() override;   \/\/ kein virtual, daf\u00fcr override\r\n      void g() override;\r\n}\r\n\r\nB1 instanz_b;\r\n<\/pre>\n<p>Abstrakte Klassen sind f\u00fcr die Einheitlichkeit unter Code-Bl\u00f6cken wichtig. Die Kompatibilit\u00e4t unter Klassen wird erzwungen. (Gleiche Abhandlungen heissen in allen Varianten gleich. )<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Abstrakte Klassen enthalten keinen Code. Sie definieren nur die Schnittstelle. Sie k\u00f6nnen nicht instaziert werden! F\u00fcr die Instanzierung muss zuerst eine abgeleitete Klasse gebildet werden, welche die Schnittstellen definiert. Abstrakte Funktionen sind ein Spezialfall bzw. der extremste Fall einer virtuellen Funktion. Sie werden pure virutal classes genannt. \/\/ nicht instanzierbar class B { public: \/\/ &hellip; <a href=\"https:\/\/coolt.ch\/notizen\/abstrakte-klasse\/\" class=\"more-link\"><span class=\"screen-reader-text\">Abstrakte Klasse<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[29],"tags":[72],"_links":{"self":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1108"}],"collection":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/comments?post=1108"}],"version-history":[{"count":2,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1108\/revisions"}],"predecessor-version":[{"id":1112,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/posts\/1108\/revisions\/1112"}],"wp:attachment":[{"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/media?parent=1108"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/categories?post=1108"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coolt.ch\/notizen\/wp-json\/wp\/v2\/tags?post=1108"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}