C++ ⇒ VBA 書いて覚えるための初心者自己中記事

C++ ⇒ VBA 勉強の履歴を付けるというかノート代わりに使ってます

2017-09-01から1ヶ月間の記事一覧

C++ テンポラリオブジェクト 書いて覚えるための初心者自己中記事

str = string("hoge"); この状況について。 stringクラスのオブジェクトを作って"hoge"で初期化している。 ただし、一時的に。 このように一時的に作られたオブジェクトのことを テンポラリオブジェクト という。 上記の場合は文字列を引数にとるコンストラ…

C++ 静的メンバ変数 静的メンバ関数 static 書いて覚えるための初心者自己中記事

static を使った静的ローカル変数は、 関数を抜けても値が保持される 初期化は一度きり だった。 nenechi.hatenablog.com クラスのメンバ変数にstatic をつけると 静的メンバ変数になる。 静的メンバ変数は実体がなくなる。(?)(コンパイル時にリンクエラ…

C++ エラー処理 例外 書いて覚えるための初心者自己中記事

エラー処理 goto 分 goto ラベル ; で ラベル : にジャンプする。 int main() { const char* error; string line; ifstream file; file.open("test.txt"); if (!file.is_open()) { error = "ファイルを開けませんでした。" ; goto ON_ERROR;//goto ラベル; …

C++ ちょっと今作れるものを作ってお勉強① 書いて覚える初心者自己中記事

コマンドでひたすら敵と戦ってレベル上げていく不毛のゲームができた。 Source.cpp void main() { srand((unsigned)time(NULL)); Status player; player.LevelUp(1); while (player.Battle(player)) { //何もしない }; system("pause"); }

C++ テンプレート 書いて覚えるための初心者自己中記事

関数テンプレートは扱う型が違うけど処理部分は同じ記述の関数をまとめるためのもの。 // 扱う型は違うが中の処理は同じ記述の関数 int Abs(int a) { return a < 0 ? -a : a; } double Abs(double a) { return a < 0 ? -a : a; } これまでは関数オーバーロー…

C++ 名前空間 書いて覚えるための初心者自己中記事

クラス・関数・変数などの名前のことを総称して識別子(identifier)という。 複数人でプログラムを作成していて、自分が使っている識別子が誰かと被った場合などの対処として名前空間なるものがある。 前から名前空間という言葉だけは聞いたことがあって、い…

C++ streamクラスについて 書いて覚えるための初心者自己中記事

今まで使用していた iostream やら fstream やらはクラスの継承によって派生しているものらしい。 stream とは入出力に関してのクラスで、基底クラスでは istream <-inpot用 ostream <-output用 が存在する。 そこからの派生クラスとして iostream <- inpou …

C++ ファイル操作 書いて覚えるための初心者自己中記事②

nenechi.hatenablog.com の続き。 binary.txt ファイルにあらかじめ Hello My name is robot と入れてあります。 そのファイルを読んで値を16進数で16桁づつ表示する。 ------------------------------------------------ const int WIDTH = 16; int main(){…

C++ ファイル操作 書いて覚えるための初心者自己中記事①

ファイルを扱うのに便利な標準ライブラリ #include <cstdio> 便利な関数が入っている #include <fstream> fstreamクラスが入っている Xcode 8.3.3 で file.open で作ったはずのファイルがどこにもない・・・ ・・できた。 xcodeでビルドした時にxcode内でいつも結果を見てるか</fstream></cstdio>…

C++ stringクラス 書いて覚えるための初心者自己中記事

革命だ!! 文字列リテラルめんどくさいってずっと考えてたけど、こんな便利なものがあるなんて、class の勉強乗り越えてよかった・・・ いや、ど素人じゃなきゃこんなん常識なんでしょうけど、わたしど素人なので。 C++に標準で用意されているstringクラス…

C++ class とそれに関係してくるものを書いて覚えるための初心者自己中記事⑤

nenechi.hatenablog.com の続き 意図としては派生クラスを宣言時に基底クラスのコンストラクタが動いた段階で SetBase関数 ( 純粋仮想関数 ) を呼び出して当該派生クラスのSetBase関数を呼び出させようとした。 -------------------------------------------…

C++ class とそれに関係してくるものを書いて覚えるための初心者自己中記事④

nenechi.hatenablog.com の続き。 書いてる途中にブラウザ戻っちゃった。 記事消えた。 やる気なくなる・・・ 一からやり直し。 内容だけ書こう。 アップキャストについて。 アップキャストとは関数の仮引数に基底クラスの型で参照をする方法。 参照先は派生…

C++ class とそれに関係してくるものを書いて覚えるための初心者自己中記事③

nenechi.hatenablog.com 続きです。 次はclass の継承について勉強。 共通部分がある class はその共通部分だけの class を作りそれを親として 子の class に継承できる。 親クラスの事を基底クラス 子クラスのことを派生クラスと呼ぶ。 これが

C++ class とそれに関係してくるものを書いて覚えるための初心者自己中記事②

nenechi.hatenablog.com の続きです。 配列のメンバ変数を持っている class のコンストラクタを作ったりしました。 んで、配列のメンバ関数はポインタで作成するのですがその class をそのまま引数にした関数を作ってしまうとやばいらしい。 なんでも、class…

C++ class 自動で作られるデフォルトコンストラクタについて少し 書いて覚える初心者自己中記事

class 内に自分で作った引数なしのコンストラクタ 「デフォルトコンストラクタ」 class 内に自分で作った引数のあるコンストラクタ 「コンストラクタ」 (引数付きコンストラクタ) class 内に自分でコンストラクタを作らなかった 「自動で生成されるデフォ…

C++ class とそれに関係してくるものを書いて覚えるための初心者自己中記事①

class は構造体のもっとどエライもの。 最初に構造体と同じようなメンバで作る。 --------------------------------------------------- class Data { public: char name[64]; int age; double higth; }; -------------------------------------------------…

C++ new delete 書いて覚えるための初心者自己中記事

プログラム実行中に動的に変数を作る。 そのために使うのが new と delete 。 動的に変数を作るとはどういうことかというと ----------------------------------------------- int main(){ int size; cin >> size; int* p = new int[size]; } --------------…

C++ 外部・内部リンケージについて[extern] [static] 書いて覚えるための初心者自己中記事

ソースファイルが複数ある場合の情報の共有関係のことをリンケージという まず勘違いしていたのはリンケージは#includeされているファイルかどうかとか関係ないということ。 では、 まずファイルを超えて利用可能なものを外部リンケージ ファイルを超えられ…

C++ static グローバル変数と静的ローカル変数とか色々ぐちゃぐちゃなので書いて覚える初心者自己中記事

(注)externはまだ混乱するので今のぐちゃぐちゃが解決してから考える。 関数の外で宣言された変数はグローバル変数 どこからでも使用可能でプログラムが終了するまで保持される。 -------------------------------------------- int gh;//グローバル変数宣言…

C++ char型 文字リテラルと文字列リテラル 書いて覚えるための初心者自己中記事

char型 まずは何もしないでバイト数表示 -------------------------------------------- int main(){ char t; cout << sizeof t << endl; } (結果) 1 -------------------------------------------- 1バイトあるらしい。 次に 'a' を入れて見る --------…

C++ 仮引数・実引数に関係してくるものを色々書きながら覚えるための初心者の自己中記事

関数を作成する場合に ------------------------------------ void Test(int x){ //カッコ内が仮引数 cout << x << endl; } int main(){ Test(10); //カッコ内が実引数 } (結果) 10 ------------------------------------ の場合は 10 になる。 ここで勘違…