From 82ff3d7310a90f6771ffe770855dd0def5f28ee0 Mon Sep 17 00:00:00 2001 From: RikuYokoo Date: Sat, 20 Feb 2021 01:56:31 +0900 Subject: [PATCH 1/2] Add task3 --- 3_yokoo_submit.cpp | 88 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 3_yokoo_submit.cpp diff --git a/3_yokoo_submit.cpp b/3_yokoo_submit.cpp new file mode 100644 index 0000000..848a4b6 --- /dev/null +++ b/3_yokoo_submit.cpp @@ -0,0 +1,88 @@ +/* +1.privateメンバとしてint型の配列を持つ。 +2.accessという名前のメンバ関数を持つ。それは引数でインデックスを指定し、メンバであるint型の配列の対応するインデックスの要素への参照を返す。 (例)3を引数に与えられたら配列の三番目の要素への参照を返す。 +3.main関数内でaccessを呼び出しそれで返された参照を用いてその要素に値を書き込んでみる。 +4.上記のメンバ変数はコンストラクタの引数で要素数を指定し、コンストラクタ内でメモリを確保する。 +5.デストラクタで必ず上記メンバをdeleteする。(ここでdeleteを忘れるとメモリが開放されずに残ってしまいメモリを無駄に食う) +6.他の機能は自由 +*/ + +#include + +class kadai{ + public: + kadai(int n); + ~kadai(); + int &access(int num); + void all(); + private: + int max; + //int num[]; + int *ptr; + +}; + +kadai::kadai(int n) +{ + ptr = new int[n]; + for(int i=0;i max){ + std::cout << "error" << std::endl; + std::cout << "end" << std::endl; + std::exit(0); + }else{ + return ptr[num]; + } +} + +void kadai::all() +{ + for(int i=0;iall(); + int number = 4; + int &hoge = kd->access(number); + hoge = 8342; + kd->all(); + /* + std::cout << "配列の要素数入力:"; + std::cin >> set_num; + + kadai *kd; + kd = new kadai(set_num); + kd->all(); + + int number; + std::cout << "値を変更する要素を入力:" << std::endl; + std::cin >> number; + int &hoge = kd->access(number); + + std::cout << "値は:" << std::endl; + std::cin >> hoge; + + kd->all(); + */ + + delete kd; + + return 0; +} From 969a410476922db037f4fd3f55069b38309f9d7c Mon Sep 17 00:00:00 2001 From: RikuYokoo Date: Sat, 20 Feb 2021 02:02:33 +0900 Subject: [PATCH 2/2] Fix class name --- 3_yokoo_submit.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/3_yokoo_submit.cpp b/3_yokoo_submit.cpp index 848a4b6..94fa3f1 100644 --- a/3_yokoo_submit.cpp +++ b/3_yokoo_submit.cpp @@ -9,10 +9,10 @@ #include -class kadai{ +class task{ public: - kadai(int n); - ~kadai(); + task(int n); + ~task(); int &access(int num); void all(); private: @@ -22,7 +22,7 @@ class kadai{ }; -kadai::kadai(int n) +task::task(int n) { ptr = new int[n]; for(int i=0;i max){ std::cout << "error" << std::endl; @@ -47,7 +47,7 @@ int &kadai::access(int num) } } -void kadai::all() +void task::all() { for(int i=0;iall(); int number = 4; int &hoge = kd->access(number); @@ -67,8 +67,8 @@ int main(){ std::cout << "配列の要素数入力:"; std::cin >> set_num; - kadai *kd; - kd = new kadai(set_num); + task *kd; + kd = new task(set_num); kd->all(); int number;