#include #include #include "test.h" //宣言部 void cp_func(testClass, char*); void pt_func(testClass&, char*); int main(int argc, char *argv[]) { testClass cpBase("cpBase"); testClass ptBase("ptBase"); testClass* cpBase2 = new testClass("cpBase2"); testClass* ptBase2 = new testClass("ptBase2"); printf("\n"); //コピーのテスト printf("copy start\n"); printf("----------------------------------------\n"); printf("cpBase->_value =>%s\n", cpBase.get_value()); cp_func(cpBase, "cpBase_hoge"); printf("cpBase->_value =>%s\n\n", cpBase.get_value()); //参照のテスト printf("pointer start\n"); printf("----------------------------------------\n"); printf("ptBase->_value =>%s\n", ptBase.get_value()); pt_func(ptBase, "ptBase_hoge"); printf("ptBase->_value =>%s\n\n", ptBase.get_value()); //コピーのテスト2 printf("copy2 start\n"); printf("----------------------------------------\n"); printf("cpBase2->_value =>%s\n", cpBase2->get_value()); cp_func(*cpBase2, "cpBase2_hoge"); printf("cpBase2->_value =>%s\n\n", cpBase2->get_value()); //参照のテスト2 printf("pointer2 start\n"); printf("----------------------------------------\n"); printf("ptBase2->_value =>%s\n", ptBase2->get_value()); pt_func(*ptBase2, "ptBase2_hoge"); printf("ptBase2->_value =>%s\n\n", ptBase2->get_value()); //プログラム終了 printf("destruct cpBase2\n"); delete cpBase2; printf("destruct ptBase2\n"); delete ptBase2; printf("destruct other!!\n"); return 0; } //■ コピー用関数 void cp_func(testClass obj, char* value) { obj.set_value(value); } //■ 参照用関数 void pt_func(testClass& obj, char* value) { obj.set_value(value); }