Moveを純粋仮想関数にしないで必要なクラスのみがオーバーライドするようにするのではだめでしょうか?
仮想関数にはしますが
検索結果 44 件
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 複数のクラスに共通な関数を定義する方法を知りたいです
- 返信数: 12
- 閲覧数: 7334
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: c++ arrayによる静的二次元配列
- 返信数: 4
- 閲覧数: 3968
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: キャラを一区間単位で移動させる単元
- 返信数: 6
- 閲覧数: 5433
Re: キャラを一区間単位で移動させる単元
補足といっては何ですがprintfデバッグ系列をする場合は値などを変更した跡に特定の文字+現在の値で出すとわかりやすくなります。
printfデバッグ系列というのは、文字列を描画させて行うデバッグ全般のことです。
ほかの方はなんといっているか知りませんが私はこう呼んでいます。
printfデバッグ系列というのは、文字列を描画させて行うデバッグ全般のことです。
ほかの方はなんといっているか知りませんが私はこう呼んでいます。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++ テンプレートのいろんな型を list に追加する方法
- 返信数: 10
- 閲覧数: 15307
Re: C++ テンプレートのいろんな型を list に追加する方法
C++11でならばtupleがあったのでそれを考えてみては?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 敵のショットの画像の追加方法について
- 返信数: 7
- 閲覧数: 4033
Re: 敵のショットの画像の追加方法について
情報が少なくてほとんど何もいえないのですが
弾の描画や敵の描画で使っている画像のハンドルを確かめてみてください。
弾の描画や敵の描画で使っている画像のハンドルを確かめてみてください。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポインタを理解する
- 返信数: 100
- 閲覧数: 40257
Re: ポインタを理解する
概念でよく言われるのが名簿の関係です
宣言と名簿
int a; ○○さん
int* b; xx番の人
という考え方です。
aさんとかbさんとかだと名前を知っていないと呼び出せませんが、
10番の人、26番の人と番号であれば名前を知らなくても呼び出せますね。
宣言と名簿
int a; ○○さん
int* b; xx番の人
という考え方です。
aさんとかbさんとかだと名前を知っていないと呼び出せませんが、
10番の人、26番の人と番号であれば名前を知らなくても呼び出せますね。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: VC++の環境設定
- 返信数: 11
- 閲覧数: 6281
Re: VC++の環境設定
プロパティ->構成プロパティ->VC++ディレクトリ->インクルードディレクトリ
ここに追記します。
ドロップダウンから編集で
私は毎回設定するのが面倒なのでMicrosoft.Cpp.<プラットフォーム名>.user.propsに直接書き込んで自動で設定するようにしています。
そのあたりはググッてもらったほうが早いと思うので今回は割愛しますが
ここに追記します。
ドロップダウンから編集で
私は毎回設定するのが面倒なのでMicrosoft.Cpp.<プラットフォーム名>.user.propsに直接書き込んで自動で設定するようにしています。
そのあたりはググッてもらったほうが早いと思うので今回は割愛しますが
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: VC++の環境設定
- 返信数: 11
- 閲覧数: 6281
Re: VC++の環境設定
私はまずIncludePathに
$(SolutionDir)$(TargetName)
を追加してます。
コレを入れておくと
"../../foo/bar.h"
じゃなくて
<foo/bar.h>
とかで呼び出せるのでこうしてます。
あとはVCのフィルタとフォルダ階層を統一して大体1クラス1フォルダで作ってます。
なので
<Project>
└<Type>
└<Vector2>
└<Matrix4>
└<Vector3>
とかこういう感じになってます。
それくらいですかね
$(SolutionDir)$(TargetName)
を追加してます。
コレを入れておくと
"../../foo/bar.h"
じゃなくて
<foo/bar.h>
とかで呼び出せるのでこうしてます。
あとはVCのフィルタとフォルダ階層を統一して大体1クラス1フォルダで作ってます。
なので
<Project>
└<Type>
└<Vector2>
└<Matrix4>
└<Vector3>
とかこういう感じになってます。
それくらいですかね
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲームのオブジェクト指向について
- 返信数: 139
- 閲覧数: 42711
Re: ゲームのオブジェクト指向について
クラス図が書けるようになってきたら
ゲームの取説からクラス図を作ってみるといい訓練になるかもしれません
実際、私の学校の授業で一回やったので
ゲームの取説からクラス図を作ってみるといい訓練になるかもしれません
実際、私の学校の授業で一回やったので
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドプロンプトで
- 返信数: 4
- 閲覧数: 2303
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列の操作がうまくいかない(C++)
- 返信数: 5
- 閲覧数: 2254
Re: 文字列の操作がうまくいかない(C++)
間違えた、アドレス先の内容が消失していると思うので関数の宣言を変えるかstd::stringを使いましょう
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字列の操作がうまくいかない(C++)
- 返信数: 5
- 閲覧数: 2254
Re: 文字列の操作がうまくいかない(C++)
単純にwordがローカルスコープなのと
返しているのがアドレスなので変なアドレスが返ってきているパターンだと思うのでアドレスで出力してみてください。
一番いいのはchar*ではなくC++なのだからstd::stringを使うことです。
返しているのがアドレスなので変なアドレスが返ってきているパターンだと思うのでアドレスで出力してみてください。
一番いいのはchar*ではなくC++なのだからstd::stringを使うことです。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: コマンドプロンプトで
- 返信数: 4
- 閲覧数: 2303
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: DOS窓を一時停止させるには
- 返信数: 6
- 閲覧数: 3415
Re: DOS窓を一時停止させるには
system("pause");
でもいける
でもいける
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: typedef structで格納した文字を表示しようとすると強制終了します
- 返信数: 1
- 閲覧数: 1109
Re: typedef structで格納した文字を表示しようとすると強制終了します
item_name[Item_i].nameのようにした場合の動作を教えてください
動かなければ
if(Item==1)sprintf(Name,"%sを手に入れた!",item_name[mapevent_1[Item_i]]);
のmapevent_1についての情報を開示してください
動かなければ
if(Item==1)sprintf(Name,"%sを手に入れた!",item_name[mapevent_1[Item_i]]);
のmapevent_1についての情報を開示してください
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: DXライブラリ GetHitKey関数の疑問
- 返信数: 4
- 閲覧数: 2142
Re: DXライブラリ GetHitKey関数の疑問
少し勘違いされているようですが、
漢字は2byte文字なのでchar型にははいりませんよ
char型は1byteなので漢字一文字格納するのには配列にするか、大きいサイズのものを使用するしかありません。
漢字は2byte文字なのでchar型にははいりませんよ
char型は1byteなので漢字一文字格納するのには配列にするか、大きいサイズのものを使用するしかありません。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 「extern」の私の認識について
- 返信数: 9
- 閲覧数: 4568
Re: 「extern」の私の認識について
簡単に私の見解をまとめておきます 1.externを使用しないのであればクラスのメソッドが必要になります。 2.参照はポインタのconst版ではありません。参照は「ポインタのアドレスの中身」を参照しているので変更することができます。ただし、const int& などのようにすれば変更はできません 例 addは通るがadd2はエラーになるはず void add(int& a,int b){ a+=b; } void add2(const int& a,int b){ a+=b; //エラー } int main(void){ int x=10,y=5; std::cout<<x<<std::en...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画面外に出たらデータを消去する処理
- 返信数: 3
- 閲覧数: 2161
Re: 画面外に出たらデータを消去する処理
nullptr消そうとしてたりしませんか?
呼び出し前の処理でdeleteされてる可能性があるのでOutの一番初めにnullptrだったら何もしないで抜ける処理を追加してはいかがでしょうか?
呼び出し前の処理でdeleteされてる可能性があるのでOutの一番初めにnullptrだったら何もしないで抜ける処理を追加してはいかがでしょうか?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++のリファクタリングツール
- 返信数: 2
- 閲覧数: 2339
Re: C++のリファクタリングツール
リファクタリング用では無いのですが、リファクタリングやソースの問題点の解析のために私は次のツールを使っています
CppCheck
C++の静的解析、メモリリークなどの検出に使用
SourceMonitor
循環的複雑度を測定、高い部分を低くリファクタリングすることで効果的なリファクタリングを支援
また、ソースファイル別の最大複雑度なども計測可能
主にこの2つを使ってリファクタリングしてます。
IDEはVisualC++です。
CppCheck
C++の静的解析、メモリリークなどの検出に使用
SourceMonitor
循環的複雑度を測定、高い部分を低くリファクタリングすることで効果的なリファクタリングを支援
また、ソースファイル別の最大複雑度なども計測可能
主にこの2つを使ってリファクタリングしてます。
IDEはVisualC++です。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 質問する前に
- 返信数: 4
- 閲覧数: 2283
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: STGで弾をリロード式にする工夫をしているのですが・・・
- 返信数: 6
- 閲覧数: 3128
Re: STGで弾をリロード式にする工夫をしているのですが・・・
ごく簡単に言うとwhileやめてif分でチェックだけするようにすればいい
後はゲームの仕様で切れたら自動とか幼いといけないとかで変わってくるのでコレだけだとなんともいえない
後はゲームの仕様で切れたら自動とか幼いといけないとかで変わってくるのでコレだけだとなんともいえない
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: javascriptでのプログラムに関する質問です!!
- 返信数: 4
- 閲覧数: 2077
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: c++
- 返信数: 7
- 閲覧数: 4003
Re: c++
c++の標準のみでやるならsstream(stringstream)
もしくはnaohiro19さんの言うようにboost C++ Librariesの「Lexical Cast」を用いるとよいと思います
もしくはnaohiro19さんの言うようにboost C++ Librariesの「Lexical Cast」を用いるとよいと思います
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++配列、行列
- 返信数: 1
- 閲覧数: 1344
Re: C++配列、行列
C++と書いてありますが文法的にはCですね。
とりあえず、Aをすべて表示するプログラムを書いてみてください。
とりあえず、Aをすべて表示するプログラムを書いてみてください。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: オブジェクトの宣言
- 返信数: 16
- 閲覧数: 6218
Re: オブジェクトの宣言
とりあえず基本をまとめるとこんな感じですかね int global=0; //プログラムのどこからでも書き換え参照可能、プログラムが終了するまで生きている static int static_global=0;//プログラムが終わるまで生きているけれどこのファイルの中からしかアクセスできない、逆にこのファイル内からならどこからでもアクセスできる。 void func(){ int local=0;//この関数内だけ生きていて抜けるときには消える。外からはアクセスできない static int val=0;//この関数内からしかアクセスできないが関数を抜けても生きている。プログラムと終了で消える...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: オブジェクトの宣言
- 返信数: 16
- 閲覧数: 6218
Re: オブジェクトの宣言
(おまけ2) static変数のポインタを返すような関数ならば,文字通り"自作関数の中で宣言された変数をグローバル変数のように扱う"ことができます. これはC++でシングルトン, つまりグローバル変数もどきを作るときに使われるテクニックです. int* Function() { static int x = 0; return &x; // この値はずっと変わらないのでFunction()の返り値はずっと同じ = グローバル変数のように扱える } Singletonですがこういう書き方も出来ます。 int& Function(){ static int x=0; return x; } 後は...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 初心者です.エラーが出て困ってます
- 返信数: 6
- 閲覧数: 3069
Re: 初心者です.エラーが出て困ってます
エラー文を読んだ感じだけで言うと
問題があるのは41行目に表示しようとしていた文字列ではないかと思います。
問題があるのは41行目に表示しようとしていた文字列ではないかと思います。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: わかりません
- 返信数: 4
- 閲覧数: 2373
Re: わかりません
質問内容が不明瞭です
何がどういうようにわからないのか
提示してください
言語自体がわからないのであれば
http://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html
などのサイトを見て勉強してください
何がどういうようにわからないのか
提示してください
言語自体がわからないのであれば
http://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html
などのサイトを見て勉強してください
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: C言語のプログラムについて
- 返信数: 21
- 閲覧数: 9668
Re: C言語のプログラムについて
合計でしたら配列の中身をすべて足し合わせればいいですよね?
ヒント
今の合計=今までの合計+今の気温
平均を出すにはそれを割ってあげれば・・・
ヒント
今の合計=今までの合計+今の気温
平均を出すにはそれを割ってあげれば・・・
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: Cのフォーマット出力の手法について
- 返信数: 10
- 閲覧数: 3461
Re: Cのフォーマット出力の手法について
若干補足します
fstreamとiomanip使えばフォーマット指定で書き出せます
fstreamとiomanip使えばフォーマット指定で書き出せます
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: Cのフォーマット出力の手法について
- 返信数: 10
- 閲覧数: 3461
Re: Cのフォーマット出力の手法について
iostream使っては?
ファイルでしたらfstreamで書き出せますが?
ファイルでしたらfstreamで書き出せますが?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 可変長引数をとってスペースで区切り出力ストリームへ
- 返信数: 2
- 閲覧数: 1380
Re: 可変長引数をとってスペースで区切り出力ストリームへ
型に関してはtemplateを使えばいいと思います。
可変引数については
stdarg.hを使えば実現可能でしょう。
可変引数については
stdarg.hを使えば実現可能でしょう。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数が重複
- 返信数: 32
- 閲覧数: 11060
Re: 乱数が重複
これでも可能です。
もし無限ループでやりたいのであればカウンターでbreakさせなければなりませんが。
有限ループはforでやる方法とwhileでやる方法があります。
たとえば確実に一定回数やる場合はfor
条件が正しい間だけやる場合はwhileでやるとよいでしょう
もし無限ループでやりたいのであればカウンターでbreakさせなければなりませんが。
有限ループはforでやる方法とwhileでやる方法があります。
たとえば確実に一定回数やる場合はfor
条件が正しい間だけやる場合はwhileでやるとよいでしょう
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数が重複
- 返信数: 32
- 閲覧数: 11060
Re: 乱数が重複
単に52回にしたいのであれば無限ループではなく有限ループに変更するだけで対応可能です。
ソースを読んだところpullを行うたびにsrandしてしまっていますがこれは意図してやっていますか?
ソースを読んだところpullを行うたびにsrandしてしまっていますがこれは意図してやっていますか?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数が重複
- 返信数: 32
- 閲覧数: 11060
Re: 乱数が重複
ソース部分はcodeタグで囲っていただきたいです
数値とスート別々に管理するのではなく、構造体で管理するのはいかがでしょうか?
数値とスート別々に管理するのではなく、構造体で管理するのはいかがでしょうか?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数が重複
- 返信数: 32
- 閲覧数: 11060
Re: 乱数が重複
それでしたら配列の中身をランダムにシャッフルして取得するたびに配列の添え字をインクリメントするのが簡単でしょう。
ただし、配列の大きさ以上に取得使用としたときの対応が必要になりますが。
ただし、配列の大きさ以上に取得使用としたときの対応が必要になりますが。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数が重複
- 返信数: 32
- 閲覧数: 11060
Re: 乱数が重複
もし、連続して同じカードを引きたくないのであれば前の値を保持しておき同じであるならば生成しなおす方法をお勧めしますが、
すべて重複したくないのであるならば配列をシャッフルしてしまうのがいいと思います。
すべて重複したくないのであるならば配列をシャッフルしてしまうのがいいと思います。
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 乱数が重複
- 返信数: 32
- 閲覧数: 11060
Re: 乱数が重複
srand((unsigned)time(NULL));
をwhile文の中でやっていませんか?
をwhile文の中でやっていませんか?
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: Dxライブラリについて
- 返信数: 14
- 閲覧数: 7431
Re: Dxライブラリについて
mainのなかに描画などを実装するならそこはループ内でないといけないのですが・・・ while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){ //↑メッセージ処理 ↑画面をクリア ↑入力状態を保存 ↑ESCが押されていない //ココ!! ScreenFlip(); } はmain内に書かなくて大丈夫なのでしょうか? 考え方によりますがmainが描画、更新などをする必要性はないのでそれも別のクラスに任せてし...
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: Dxライブラリについて
- 返信数: 14
- 閲覧数: 7431
- 10年前
- フォーラム: C言語何でも質問掲示板
- トピック: 教えてください><
- 返信数: 3
- 閲覧数: 1757
Re: 教えてください><
変数定義部はグローバル変数として定義している部分
extern宣言部は上のグローバル変数をexternしている部分のことだと思います。
extern宣言部は上のグローバル変数をexternしている部分のことだと思います。
- 11年前
- フォーラム: C言語何でも質問掲示板
- トピック: 別の.cppの変数を使う時は?
- 返信数: 6
- 閲覧数: 6656
- 12年前
- フォーラム: 学生で集まってみる?
- トピック: 皆の開発環境は?
- 返信数: 22
- 閲覧数: 17239
Re: 皆の開発環境は?
家のデスクトップではVisualC++ 2010 EE
主に学校で使うノートではVisualStusio2010
で作成していますが
単一のファイル関係はTerapadを使用しています
(cppファイル1つだけ見るとか)
そのほかにメモリリーク等のチェックに
cppcheck.exe
コードの複雑度測定に
SourceMonitor
VisualStudio 2010には拡張機能として
Productivity Power Tools
indent Guid
ソースコード類の管理に
TortoiseSVN
などを
後はマクロが少しですかね。
主に学校で使うノートではVisualStusio2010
で作成していますが
単一のファイル関係はTerapadを使用しています
(cppファイル1つだけ見るとか)
そのほかにメモリリーク等のチェックに
cppcheck.exe
コードの複雑度測定に
SourceMonitor
VisualStudio 2010には拡張機能として
Productivity Power Tools
indent Guid
ソースコード類の管理に
TortoiseSVN
などを
後はマクロが少しですかね。