検索結果 108 件

by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: Visual C++ 2008 → Visual Studio Community 2015
返信数: 2
閲覧数: 903

Re: Visual C++ 2008 → Visual Studio Community 2015

まず、質問で違和感を感じた部分を書きます。 設計をする上でVisual C++ にはなくてVS2015にある機能などはありますでしょうか?またその機能は便利(重要)でしょうか? ”Visual C++ にはなくてVS2015にある機能”というのは質問の本意と異なっているのではないでしょうか。 Visual Studio 2015 で使用される C++ の開発環境は、Visual C++ です。 まず前提として、Visual Studio は統合開発環境です。 Visual Studio の中に各プログラム言語で開発するためのツールセットがあり そのうち C++言語 を開発するためのツールセット...
by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: 添削お願いいたします
返信数: 7
閲覧数: 1762

Re: 添削お願いいたします

静的配列(インスタンス)の引数付きのコンストラクタの呼び方が分からなかったのと、 C++11の基礎サンプルに、 静的配列の初期化で引数付きのコンストラクタを呼び出す方法を織り交ぜました。 VS2015を使用するのであれば、知っておいた方が良いかと思いサンプルを作ってみました。 C++11のコードがコンパイルできる環境でコンパイルしてください。 // C++11 サンプル #include <iostream> #include <array> // 基底クラス struct BaseObject { // コンストラクタ BaseObject(){} // デストラクタ virtual ~B...
by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: 添削お願いいたします
返信数: 7
閲覧数: 1762

Re: 添削お願いいたします

DrawTitle.cppは不要と判断しました。

ソースコードのやりとりを考慮して、
開発環境の情報を書いた方が良いと思います。

一応共有の情報として
 文字セット :マルチ バイト
 IDE :VisualStudio 2013
の環境でビルドできました。

失礼しました、プロジェクトデータが含まれていたので判断できますね。

軽くチェックしましたが”メモリリークしています”
メモリリークするプログラムは、PCのメモリを圧迫するので注意した方が良いです。
new など動的に確保したメモリの開放を忘れていませんか?
by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: 引数を定数に
返信数: 8
閲覧数: 1079

Re: 引数を定数に

Borland C++ 5.5.1(BCCDevoperのコンパイラ)は 結構古いので2000年以降に制定された規約は判断できないみたいです。 前回貼ったコードは、 C++11(2011年に標準化)に対応しているコンパイラが必須ですので コンパイルエラーするのはコンパイラの問題です。 同じ環境を再現するのが、手間だったので とりあえず、古い規約を調べつつサンプルコードを 書き換えてみました。 STL自体がC++で実装されているので 以下のコードは、古い規約で書いたC言語風C++コードです。 コンパイル可能か確認できてないので、 動けばラッキーくらいの気分でお願いします。 // main.cpp...
by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: 引数を定数に
返信数: 8
閲覧数: 1079

Re: 引数を定数に

C++(C++11)ですが、実装例です。 あまり綺麗に書けていませんがご了承ください。 Windows10 VS2013(マルチバイト文字)環境で作成しました。 標準ライブラリSTL(std)のvectorとstringを使用すれば 割と楽に解決できると思われます。 開発環境が違うのでコピペで動かない可能性あります。 #include "DxLib.h" #include <iostream> #include <vector> #include <string> // DXライブラリ簡易ラップクラス class DxLibApp final { public: // コンストラクタ DxLi...
by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++仮想関数のコンパイルエラー
返信数: 4
閲覧数: 1135

Re: C++仮想関数のコンパイルエラー

前提知識が間違っている可能性があるので2点確認です。 ・継承の種類について(現在のコードでprivate継承しているのは意図的なのか) ・virtual関数はオーバーライドするために必要 この前提が間違っていると回答ができません。 以下、すべてこちらの予想で回答するので 質問内容とずれた回答をするかもしれません。 ご了承ください。 【private継承が意図的だった場合の回答】 private継承したスーパークラスのメソッドを 継承先でpublicとして公開するにはオーバーライドが必須になります。 アクセス装飾子を変更するためにプロトタイプ宣言が必須になるので、 実装を書く必要があります。 #...
by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: C++の高速Getter?を継承関係のあるクラスでも使いたい
返信数: 2
閲覧数: 1015

Re: C++の高速Getter?を継承関係のあるクラスでも使いたい

アクセサを作るくらいしか無いとした理由は質問内容を条件を含めて 同じデータを指す[value]と[read]をそれぞれ使用するクラスでprotectedとpublicにしたい と解釈したためです。 分かりづらい質問文でしたが、 非常に適切な解釈をしていただき助かりました。 (正直、2週間ほど回答が無かったので、質問を消してもらって他の質問サイトに投稿しようかと思っていました。) 回答していただいた通り、C++では不可能なようです。 一応、自前で無理やり解決させたコードがあるので載せておきます。 キャストする方法なので安全面で不安がありました。 // 高速Getter?テンプレートクラス te...
by inemaru
3年前
フォーラム: C言語何でも質問掲示板
トピック: クラスの宣言に代入演算子
返信数: 2
閲覧数: 498

Re: クラスの宣言に代入演算子

少なくとも、上記のコードはC++の標準構文でないので
VC++(VS2013)とclang3.6ではコンパイルできません。

パッと見、ヘルプの誤植だと思うので、

コード:

class Derived : public Base {
 Derived():Base(1) {}
}
と書いて継承を表現したかっただけだと思われます。

詳細検索ページへ移動する