質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

1回答

330閲覧

C++ 画像にある動いている場合のコードを書くにはどうしたらいいのでしょうか。

tata_ones1

総合スコア0

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2022/06/02 02:53

教科書で調べてもなかなか理解できないのですが(デフォルトコンストラクター)、説明があると助かります。

※目的
• デフォルトコンストラクターでwidthとheightに1を設定する
• メンバー初期化リストで値を設定する
• 普通に変数に1を代入する
• メンバー変数の初期値を1とする
• 引数を持つコンストラクターにデフォルト値を与える

#include <iostream> class rectangle { double width ; double height ; public: double getw() { return width; } double geth() { return height; } double area() { return width * height; } }; int main() { rectangle a, b; for (int i = 0; i < 3; i++) { std::cout << "幅: " << a.getw(); std::cout << "¥t高さ: " << a.geth; std::cout << "¥t面積: " << a.area() << std::endl; } std::cout << "幅: " << b.getw(); std::cout << "¥t高さ: " << b.geth(); std::cout << "¥t面積: " << b.area() << std::endl; return 0; }

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2022/06/02 03:54

「コンストラクタがどうの」言うなら,何はともあれコンストラクタの実装を何かしら書くことくらいチャレンジすればよいのでは. >教科書 がクソすぎて何もできないというのであれば,「C++ コンストラクタ」とかで検索すれば別の情報源に当たることもできよう. 他にも「C++ メンバー初期化リスト」だとか「C++ 引数 デフォルト値」だとか,とにかくやることを示すワードで検索することから始めるべき. 純然たる文法の話なのだから見つからないはずがない. 何らかの説明を読んだけどもその意味がわからんとかいうのであれば,「ここで○○と書かれているが,それはどういう…」とかそこを具体的に問うのが良いのではあるまいか.
guest

回答1

0

• デフォルトコンストラクターでwidthとheightに1を設定する

C++

1rectangle::rectangle() : 2 width(1), 3 height(1) 4{}

• メンバー初期化リストで値を設定する

C++

1rectangle::rectangle(double w,double h) : 2 width{w}, 3 height{h} 4{}

• 普通に変数に1を代入する
widthやheightはprivateなメンバ変数なので値を直接代入することはできません。publicな変数にするか、デフォルトでメンバ変数がpublicになるstructにすれば代入できるようになりますが、setw()やseth()のようなメンバ関数を作成して値をセットするのが適切かと思います。

• メンバー変数の初期値を1とする
"デフォルトコンストラクターでwidthとheightに1を設定する"でも条件を満たしますが、意図としては下記の方がベターかと思います。

C++

1class rectangle { 2 double width = 1; 3 double height =1; 4};

コンストラクタでも値を設定している場合は、コンストラクタの設定の方が優先されます。

• 引数を持つコンストラクターにデフォルト値を与える

C++

1rectangle::rectangle(double w=1,double h=1) : 2 width{w}, 3 height{h} 4{}

一番最後の引数から順番に省略可能で、hだけ省略やwとhを両方省略はできますが、wだけ省略はできません。

投稿2022/06/04 02:59

Serbonis

総合スコア581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問