タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

c++に関するbluesky0804のブックマーク (6)

  • Ken Kobayashi cpp18

    C++によるプログラミング入門18 デストラクタ こんにちは。みなさん、いかがお過ごしですか?あまり計画性もなく、毎週考えながら書いた「入門」ですが、ちゃんと読んでくれる人がいてうれしいです。今回はデストラクタという関数の話です。 クラスにはコンストラクタという特別な関数があるということはずいぶん前に説明しました。これはクラスのインスタンス(オブジェクト)を生成する際にそれを初期化(つまり、はじめのデータの値などを代入したりする)したりするのに使う関数でした。クラスには実はもう一つ特別な関数「デストラクタ」というものがあるのです。この関数はインスタンスが破棄されるときに呼び出される関数で、後始末のために呼び出されるものです。デストラクタはとても重要な関数ですが、その重要さを初心者に説明するのは少し難しいのです。「重要さ」は、もう少しあとで説明することにして、今回は「デストラクタとはどういう

    bluesky0804
    bluesky0804 2015/06/13
    まず、基底クラスNanikaのコンストラクタが呼び出され、次に派生クラスNanikaNoKoのコンストラクタが呼び出される
  • Ken Kobayashi CPP6

    C++言語によるプログラミング入門6 クラスを作ろう(補足) こんにちは。前回はNekoというクラスを作ってみました。宿題の「犬」はできましたか?(これは最後に考えます。) 今回は、クラスNekoを、もう少し書き直してみます。プログラムの実行そのものに変化はなく、ちょっと足踏みな感じがするかもしれませんが、一気に新しいneko3.cppまで読んでみてください。 前回は次のようなクラスNeko()を書いてみました。 class Neko { private: string name; public: Neko(string s){ name = s; } void naku(){ cout<<"にゃあ。俺様は"<<name<<"だ。"<<endl; } }; 説明は長かったですが、コード量はどうということはありません。わかりにくくてもプログラム(前回のneko.cpp)をコンパイルし実行し

    bluesky0804
    bluesky0804 2015/06/11
    クラス内のものはメンバ
  • Ken Kobayashi CPP15

    C++によるプログラミング入門15 継承 みなさん、いかがお過ごしでしょうか? さて今日は「継承」について説明します。 さて、入門5、6あたりでやったクラスを思い出して下さい。たしか class Neko { string name; public: Neko(string s); //「Neko(string);」でも可 void naku() const; }; Neko::Neko(string s) : name(s){} void Neko::naku() const{ cout << "にゃあ。俺様は" << name << "だ。" << endl; } こんなのでした。(nakuの定義がクラス定義の中にあるものと外にあるものがありましたが、ここでは、外にあるものを使います。これはどちらでもよく、中に定義があっても以下の議論は同じです。) ここで、別のを考えることにします

    bluesky0804
    bluesky0804 2015/06/09
    「同じようなコードをたくさん書くと、管理が大変になる」という問題もあります。
  • Ken Kobayashi CPP7

    C++によるプログラミング入門7 クラスの練習 こんにちは。はやいもので、もう、5月ですね。今回は「クラスを書く練習」です。 昔、「2次方程式の解の公式」なんてありましたね。数学の先生があれを黒板で導いたのを見て、すぐ「なるほど、わかった」と、思った人もいるでしょうが、普通の人(私なんかです)は、それより、例題を解いていてなんとなくわかったような気がしたのではないでしょうか?えーと、数学の話なんかしてすみません。 つまり、わかろうと考え込むより、やってみる方がわかるのでは、という話です。プログラムの場合、「コンパイル・実行」->「改造」->「コンパイル・実行」->「改造」->・・・を繰り返すのがよいと思うのです。はじめは単純なタイプミスでコンパイルエラーがでますが、そのうち、タイプミスはすぐに探せるようになります。そうこうしているうちに、おっかなびっくりでなく(簡単な)プログラムが作れるよ

    bluesky0804
    bluesky0804 2015/05/31
    コンストラクタで書くことは、基本的に、「生成されるオブジェクトにどのようなデータを与えるか」が中心です。「猫」のときは名前を与えました。このようにメンバ変数の値を決めてやるのがコンストラクタの主な仕事
  • Ken Kobayashi CPP5

    C++によるプログラミング入門 クラスを作ろう こんにちは。いよいよ番です。 今日の内容を、初心者が理屈だけで、はじめから理解するのは難しいと思います。しかし、プログラミングは「習うより慣れろ」ということばがあてはまる世界です。解説をじっくり読むより、さっと読んで、サンプルをコンパイル・実行してみてください。今日のポイントは「とにかくコンパイル・実行」です。うまく動いたら、ごく簡単な改造をしてみてください。そのうち、いろいろ、わかってくることと不思議に思えることが、あらためて出てくることでしょう。そうなってから、今度はもう少しゆっくり解説を読んでみてください。 文字列をいれる「いれもの」や、整数をいれる「いれもの」は string name; int tosi; などと、作るのでした。このような「いれもの」を変数というのでしたね。このように「作る」ことを、業界用語では、「定義する」と言い

    bluesky0804
    bluesky0804 2015/05/29
    しかし、「文字列のいれもの」や「整数のいれもの」のほかにもっと別の種類の「もの」がほしくなったら、どうすればよいのでしょうか。実は、C++ではプログラマ(つまり私たち)が勝手に作ってよいのです。すばらしい
  • C++入門

    C++入門 基礎知識は仮定しません あなたは 人目のお客さんです。 ゆっくりしていってください。 C++入門1   プログラミングの基礎知識 C++入門2   coutを使った出力 C++入門3   cinを使った入力 C++入門4   オブジェクト指向について C++入門5   クラスを作ろう C++入門6   クラスを作ろう(補足) C++入門7   クラスの練習 C++入門8   コンストラクタの引数 C++入門9   クラス間の関係 C++入門10  乱数 C++入門11  while文とfor文 C++入門12  値を戻す関数 C++入門13  値を戻す関数の例 C++入門14  パブリックとプライベート C++入門15  継承 C++入門16  継承の練習 C++入門17  さらに継承 C++入門18  デストラクタ C++入門19  配列 C++入門20  ポインタ C++

    bluesky0804
    bluesky0804 2015/05/28
    助かります。
  • 1