この変数は、現在のクラスを表すために使用することができます使用します
/ * 文字列字符串 * / 書式#include <iostreamの> の#include <CStringの> 使用して名前空間はstdを、クラス文字列{ パブリック: 文字列(CONST CHAR * STR){ m_str = 新しいCHAR [STRLEN(STR)+ 1 ]。 strcpyの(m_str、STR)。 }〜ストリング(ボイド){ COUT << " 析构函数" << ENDL。 削除m_str; } // 深拷贝 ストリング(CONST文字列&こと){ m_str = 新しい CHAR [(that.m_str)+ strlenを1 ]。 strcpyの(m_str、that.m_str)。 } ボイドプリント(ボイド){ COUT << m_str << ENDL。 } CONST CHAR * c_str(ボイド)のconst { 戻りm_str。 } プライベート: CHAR * m_str。 }。 INT メイン(){ 文字列S = "こんにちは" ; COUT << s.c_str()<< ENDL、 ストリングS1(S); COUT << s1.c_str()<< ENDL; }
この自己参照を使用します
/ * 返回この进行自引用 * / 書式#include <iostreamの> 使用して名前空間はstdを、クラスカウンタ{ パブリック: カウンタ(int型のカウント= 0 ):m_count(カウント){} ボイドプリント(ボイド){ COUT << m_count << ENDL。 } カウンタ&ADD(ボイド){ ++ m_count。 返す * これを。 } ボイド Destoryは(ボイド){ COUT << " 该类已经删除「 << ENDL、 削除 これを; } プライベート: int型m_count; }; int型のmain(){ カウンタC; 。。c.add()(追加)(追加); c.print(); カウンタ * PC = 新しいカウンタ; PC - > 追加(); PC - > 印刷(); coutの << " PC " << PC << てendl; PC - > Destoryは(); // 削除のPC; }
教師は、ヘルプの学生に使用する各他の二つのクラスを呼び出し、生徒は教師、教師の答えを求めて
/ * 二つはそれぞれ、他のクラスを呼び出す * / の#include <iostreamの> 使用して名前空間STD; クラス学生、クラス教師{ パブリック: ボイドeduate(スチューデントS); ボイド応答(ボイド); }; クラス学生{ パブリック: ボイド ASK( *教師T); }; ボイド教師:: eduate(スチューデントこと){ that.ask(この); } ボイド学生:: ASK(教師* T){ COUT << 「個体数が存在します " << ENDL; T - > 応答(); } ボイド教師::応答(ボイド){ COUT << " 这里有三个人" << ENDL; } int型のmain(){ 教師T; スチューデントの、 t.eduate (S); }