C ++ - このポインタ

この変数は、現在のクラスを表すために使用することができます使用します

/ * 
文字列字符串
* /  
書式#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); 
}

 

おすすめ

転載: www.cnblogs.com/hyq-lst/p/12622234.html