タグ

C++とclassに関するtyosuke2011のブックマーク (10)

  • 仮想基本クラス

    並列的継承の問題点 C++の継承が、いかに柔軟なものかは前回で理解していただけたと思います ですが、継承によっては非常に難しい問題が発生します 継承が複雑になると、同じクラスを2度継承するという事態が発生します 基クラス || 派生クラス1派生クラス2 || 派生クラス3 図を見てわかるように、派生クラス3が基クラスを2度継承しています 派生クラス1と派生クラス2が、基クラスを継承しているためです #include<iostream> using namespace std; class Base { public: char *name; }; class Derived1: public Base { public: int age; }; class Derived2 : public Base { public: char *sex; }; class Derived3 :

  • 前方宣言

    クラス名を伝える クラスのメンバとして、他のクラスのオブジェクトを保有したり また、メンバ関数型のクラスのオブジェクトを受け取る場合があります これが、相互で行われた場合難しい問題が発生します 一方のクラスがまだ定義されていないということになります といって、両方のクラスを同時に定義するのは無理な話です class A { void getB(B &); }; class B {... これを見ればわかるように、class A の定義の時点で B は定義されていません そこで、前方宣言(または前方参照)を用いてコンパイラにクラス名を教えます クラス名を伝えることで、コンパイラはそのクラスを認識できます ただし、クラスメンバの定義などはその時点で定義されていないので使えません class class-name; これを、クラス定義よりも前に記述することで 指定された class-name ク

  • 国際標準規格の紹介 〜ISO国際標準規格プログラミング言語C++について〜

    はじめに こんにちは、C++標準会員の江添です。 今日は普段から表に出ている、閉鎖的なゲーム開発では使われていない開発環境についての紹介をします。 今回紹介するのは、ISO国際標準規格プログラミング言語の「C++」です。 なんと表の世界では、国際標準のプログラミング言語は、コンパイラーベンダーやC++利用企業と行ったC++に利害関係を持つ多数の代表が国際標準規格を制定しているのです。当たり前でしょ? C++は以下のような特徴を持っています。 エラーに気づきやすい静的型付け言語 C++経験者が理解しやすい言語仕様 OSに依存しない移植性の高いC++実装 実行環境に依存しないC++規格準拠の挙動の定義 C/C++の関数・クラスに最初からバインドされている 今でもクローズな実装の詳細のわからないプログラミング言語がたくさんあり、それらを使うデメリットは数多くあります。 国際規格の言語を使うのは様

  • ネットマネーラボ

    おまとめローンのおすすめをランキング形式で紹介!各社の金利比較と審査で通りやすい傾向についても徹底解説

    ネットマネーラボ
  • C++でブルームフィルタを実装する方法 | POSTD

    ブルームフィルタとは、「ある要素が集合のメンバである可能性があるか、それとも確実に集合のメンバではないか」を効果的に確認することのできるデータ構造です。この記事では、C++でブルームフィルタを実装する簡単な方法をご紹介します。 ブルームフィルタとは何なのか 、また、 その背後にある多くの数学的要素 については紹介していませんので、ご了承ください。これらのトピックに関しては、素晴らしいリソースがあるので、そちらを参考にしてください。 インターフェイス まずは、ブルームフィルタを定義していきましょう。ここでは、3つのパブリック関数を定義していきます。 コンストラクタ ブルームフィルタにアイテムを追加する関数 アイテムがブルームフィルタにある可能性を確認するためのクエリを行う関数 また、フィルタの状態を保持するビットの配列を含んだ、メンバ変数についても定義します。 #include <vecto

    C++でブルームフィルタを実装する方法 | POSTD
  • javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog

    週末料理をしていて足を切ってしまいました。agoです。 以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。 Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー 当時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。 いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。 Perlプログラマ Schemeプログラマ Rubyプログラマ (家に直接リンクできるURLが無かったため、参照ページへリンクしています) haskellプログラマ 堕落したCプログラマ HTML知識レベル プログラマレベル 企業法務 JavaScriptの業務スキルレベル 判別表 (5

    javascriptプログラマのレベル10 : tech.kayac.com - KAYAC engineers' blog
  • jackieokay.com

    We’re getting things ready Loading your experience… This won’t take long.

  • pImplイディオム - ゲームプログラミングWiki

    概要 † データを保持するオブジェクトを指し示すポインタをもつデザインのことをしばしば「pImplイディオム」といいます。 「pImpl」とは"pointer to Implementation"の略称です。 ↑ なぜ「pImplイディオム」を使うのか † 例としてTpodクラスについて考えます。 Tpod.h #include "Tea.h" // 注目 class Tpod { private:~ Tea m_tea; public: Tea GetTea(); }; Tpod.cpp #include "Tpod.h" Tea Tpod::GetTea() { return m_tea(); } 普通はこのように宣言と定義を書くが、この時Teaクラスを使うために Tea.hをインクルードしています。 もしもTea.hが変更されたらどうなるでしょうか? Tpod.hはT

  • オブジェクト指向を活用したシューティングゲーム - C/C++言語とDXライブラリでゲーム作成入門 - ポンクソフト

    目次 C/C++言語とDXライブラリでゲーム作成入門 シューティングゲームの作成(チュートリアル) ドットイートゲームの作成(チュートリアル) 15パズルの作成 神経衰弱の作成 オセロの作成 オブジェクト指向を活用したシューティングゲーム 今回の目的 オブジェクト指向を活用したゲームの作り方を知る ゲームのキャラクター管理を通してSTLのlistの使い方を知る ソースファイル 今回の講座のソースを全て含んだプロジェクトファイル(Visual C++ 2010)を以下に置いておきます。 shooting2.zip ゲームの説明 カーソルキーで自機を動かしてスペースキーで弾を発射します。弾が敵に当たると得点が入ります。 キャラクター画像の準備 以下の4つの画像が必要です。大きさは適当で構いません。 自機画像(player.png) 敵画像(enemy.png) 弾画像(shot.png) 背景

  • デジタル・フロンティア-Digital Frontier | DF TALK

    デジタル・フロンティア-Digital Frontier | DF TALK
  • 1