2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

C++教わりに来ました!!

1 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:53:23.220 ID:FE2/UrXe0.net
おはよう!

2 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:54:07.199 ID:FE2/UrXe0.net
すみません。もう一度クラスのプライベートの書き方教えて

3 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:54:53.723 ID:hm19OT8L0.net
クラスなんて一番最後にやればOK

4 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:55:34.821 ID:FE2/UrXe0.net
private:
int A;
int B;
int C=A+B;//ここの書き方がわからない

これはどうやって書くんだっけ

5 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:56:10.677 ID:FE2/UrXe0.net
>>3
実際はそうなの?最後なの?

6 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:56:28.135 ID:hm19OT8L0.net
全角でエラー出てるんじゃないの?

7 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:58:15.978 ID:hm19OT8L0.net
>>5
プログラミングは作りたいソフトが完成すればOK
全てグローバル変数&関数で作って、困ったらプライベートを覚えろ

8 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:58:39.140 ID:FE2/UrXe0.net
>>6
ソースにはちゃんと半角で書いてるよ!

privateなメンバ変数に式で値入れることできないよね

9 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:58:41.331 ID:UhKsZg5U0.net
>>4
コンストラクタか初期化子に書く

10 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:59:22.341 ID:FE2/UrXe0.net
>>167
それは間違いない

11 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 09:59:48.732 ID:FE2/UrXe0.net
>>7
それは間違いない!

12 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:01:34.700 ID:FE2/UrXe0.net
>>9
それか!

途中で、セッター使ってAの値変えたら、Cの値も変わらないといけないじゃん?
それは、Aのセッターに、C=A+Bって追加しなければだめ?

13 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:04:13.576 ID:UhKsZg5U0.net
>>12
ちょと何言ってるかわからない

14 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:05:09.622 ID:hm19OT8L0.net
>>13
俺もそう思った

15 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:06:42.244 ID:FE2/UrXe0.net
>>13>>14
ごめんねアスペで
ideoneでやる。まってて

16 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:08:35.464 ID:hm19OT8L0.net
C=A+Bが欲しくてAかBが変更されたら、毎回計算し直さないと駄目だろ

17 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:15:50.801 ID:FE2/UrXe0.net
https://ideone.com/AnUwdY
かいた

18 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:16:17.731 ID:FE2/UrXe0.net
なんかエラー出たw

19 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:19:06.306 ID:hm19OT8L0.net
何か俺が書くc++とだいぶん違うから判らんわw

20 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:19:46.640 ID:FE2/UrXe0.net
https://ideone.com/YJe6AC

21 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:19:58.525 ID:UTJjg3+y0.net
hoge->setA(5);
// hoge->setA = 5;

22 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:22:00.619 ID:UhKsZg5U0.net
getCでreturn A+B;てやればいいだけでは

23 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:25:22.412 ID:FE2/UrXe0.net
>>22
そっか!そうだ!
カプセル化の醍醐味?
ユーザーはプライベートに何があるかなんて関係ないしな

24 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:25:27.657 ID:ZLnVhs5id.net
        …と思う吉宗であった
   (__) ..    ,--、、,,,,,,,,,,,,,,,,
             {::::::::}三三三ミミミ`、、
    (_)       >ー-"'" ⌒,,ィシヽミミiミミ、
           /     三彡彡彡ィ`、ミミミ`、
     (_)   /      シ彡彡彡彡ノ'ヽミミミ`、
          ,'        ,三彡彡彡彡彡ソ,ー--'
        ○  l    _ _ """'彡彡彡彡彡ノi
         {;、 ';;;='''"""` 彡彡彡 - 、ノノi
            kr) .ィェー   彡彡' r、ヽ}彡i 
          レ'  ..      シ彡' )ァ' /彡'
         {_,,,、 ;、      シ彡ニンミミ{
          l         '''"::.   彡ミi    
           ! ̄"`     ...:::::::: ノ""{   
          l    .......:::::::::  /   \_
          `''ー- 、::::    /    /

,,


25 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:27:56.191 ID:FE2/UrXe0.net
エクセルのVBAみたいに、計算するたびに実行される関数とかない?
コンストラクタ関数みたいな

26 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:28:20.959 ID:FE2/UrXe0.net
>>24
吉宗じゃないんですが……

27 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:31:04.933 ID:hm19OT8L0.net
>>25
計算自体を関数にして内部でコールするか、遅延あるけど別スレッドで監視

28 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:31:17.774 ID:FE2/UrXe0.net
https://ideone.com/YJe6AC
このえらーなんですか

29 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:31:56.777 ID:FE2/UrXe0.net
>>27
内部で呼ぶってどういうこと?

30 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:34:11.863 ID:hm19OT8L0.net
>>29
c=a+bをする時、c=sum(a,b)とかの関数作って関数内部で足し算させて足し算の後で全変数を再計算さでる

31 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:36:34.139 ID:UTJjg3+y0.net
https://repl.it/repls/RundownRoastedVideogame
Immutable に行こうぜ(node.js)

32 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:38:47.850 ID:FE2/UrXe0.net
>>31
なにこれ?
JS?ジャバスクリプト?

33 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:41:44.846 ID:FE2/UrXe0.net
そーいえば、なんでMAIN関数の最後にはセミコロン必要ないの?

34 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:42:35.588 ID:hm19OT8L0.net
関数の最後は全部いらんだろ

35 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:49:58.738 ID:FE2/UrXe0.net
プロトタイプ宣言した関数の定義には必要じゃなかった?
メンバ関数の定義とか

36 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:50:37.078 ID:UTJjg3+y0.net
>>32
そう javascript

直感で cpp 書いた
https://ideone.com/B687LK

37 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:54:24.421 ID:FE2/UrXe0.net
>>36
すごい!
getCの後にはセミコロンない
setAの後にはセミコロンある!
なんでかわかる?

38 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 10:56:31.247 ID:UTJjg3+y0.net
>>37
わからない
シンタックスシュガーじゃね?
余分にあっても問題ないけど必要なところには必要
method のあとにはいらないから消していいっぽくね

39 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:00:18.088 ID:FE2/UrXe0.net
>>38
何も処理をしない行の末尾ってことか!
ありがとう!

40 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:03:38.473 ID:vkr/63Sid.net
純仮想関数とかもってる抽象クラスと派生したクラスがあって
抽象クラス型に派生クラスでアップキャストしようとしたときに
派生クラスにしか無いメンバ変数って
アクセサ経由以外に使い方ってある?

41 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:05:33.965 ID:hm19OT8L0.net
>>35
関数本体、定義は{}なしだろ

42 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:07:01.547 ID:hm19OT8L0.net
>>35
定義は変数の宣言と同じで返り値の型を宣言しているからな

43 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:07:53.474 ID:FE2/UrXe0.net
>>40
virtual関数は、オーバーライドしないと使えない関数だよ!
純仮想関数があるクラスは、オーバーライドされてなかったら使えない。

って習った

44 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:11:13.698 ID:vkr/63Sid.net
>>43
確かにそうか、やっぱりアクセサをオーバーライドしないと無理ぽいね
サンクス

45 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:12:45.756 ID:hm19OT8L0.net
vertualって使った事無いな
共用体は使った事あるけど

46 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:16:01.997 ID:FE2/UrXe0.net
>>41
そっちだったか
定義と生成のちがい?
インスタンス生成とかいうよね

47 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:16:55.259 ID:0X+muhkJp.net
C++で何するん

48 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:18:10.704 ID:FE2/UrXe0.net
>>45
リトルエンディアンだから共用体の意味があるよね

49 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:19:01.330 ID:FE2/UrXe0.net
>>47
OS作る

50 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:21:37.729 ID:FE2/UrXe0.net
https://ideone.com/vcsspc
これどうすればいいの!

51 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:32:32.119 ID:bIhLbShM0.net
return Cだから

52 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:35:25.105 ID:FE2/UrXe0.net
>>51
エラー変わらない
https://ideone.com/nJlZae

53 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:41:51.691 ID:vkr/63Sid.net
>>45
使わなくても継承、継承してけば同じなんだけど継承の先頭すっきりしてて
分かりやすいし
書くのもそんな手間かからないから便利よ

54 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:43:59.001 ID:FE2/UrXe0.net
めしいってくる

55 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:45:05.117 ID:bIhLbShM0.net
えらめ見ろよ

56 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 11:55:16.707 ID:vkr/63Sid.net
>>54
さらっとみたけど初期化子でCに3入れてからsetA呼んでるだけだから
Cは3のままなんじゃないの?
setAで5入れてCに7入ってほしいなら
setAの定義にC=A+B入れとかないと

57 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:02:19.373 ID:3z6+r0oJ0.net
コンストラクタのvoid外せ

58 :1:2018/10/19(金) 12:13:00.479 ID:cqrNWBvCd.net
>>57
分かった。

59 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:14:29.034 ID:vkr/63Sid.net
>>54
あとnew hogeのとこnew dataちがう?

60 :1:2018/10/19(金) 12:15:55.431 ID:cqrNWBvCd.net
>>59
やっぱりね!
最初はそう思ってたんだよ!

61 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:18:55.281 ID:FE2/UrXe0.net
できた!
https://ideone.com/rnJIDe

62 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:21:23.960 ID:FE2/UrXe0.net
コンストラクタの中ってthisつかう?
ポインタの時はthisって知ってるんだけど、どういうときポインタ使うのかわからねぇわ!

63 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:22:06.998 ID:FE2/UrXe0.net
getCはなんで
return this->C;
なの?

64 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:25:39.036 ID:vkr/63Sid.net
ポインタは重いデータ扱うときに使ってるかな
getCとこのthisは無くてもいけるような

65 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:30:56.721 ID:FE2/UrXe0.net
return C
でもできたわ
>>51なんやこいつ

66 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:33:36.149 ID:FQ0j35Nrr.net
>>4
そもそもこういうのは使いたい時に関数内で計算するべきだと思う
AとBを変更したときにCの変更も必須になってバグの温床化するし

67 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:34:57.150 ID:FE2/UrXe0.net
>>66
それどういうことなの?
さっきも言われたんだけど、理解できてないわ

クラスのメンバ変数に C を入れちゃダメってこと?

68 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:39:12.397 ID:hm19OT8L0.net
>>53
継承する用事が無い

69 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:41:54.830 ID:FQ0j35Nrr.net
>>67
例えば財布に百円玉3つと十円玉2つ入ってたとして
320円って書いたメモを一緒にしまっとくか?という話
所持金が知りたいならその場で見れば良いだけ

ただし、銀行に預けたお金とか、誰かに貸したお金みたいな
確認するのにとても労力のいるデータは持っていても良いと思う
C = A + B程度なら持つ必要ない

70 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:46:38.765 ID:FE2/UrXe0.net
>>69
なるほど!
分かりやすい!ありがとう!!

71 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:48:44.910 ID:FE2/UrXe0.net
vectorの記述で、初期化しないけど、とりあえず5個分取っておくってのはどうやって書くんだっけ

vector<long> hoge(5);
これじゃないよね
これは、5っていう値が入っている長さ1の配列が作られてるよね

72 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:55:11.040 ID:D3QkJ6TI0.net
>>4は常にC=A+Bとなるように自動でCを設定したいってこと?

int getC() const { return A + B; }

これで十分じゃん

73 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:55:55.366 ID:D3QkJ6TI0.net
>>71
hoge{5}だと要素が5だけの長さ1のvectorだが、
hoge(5)なら未初期化の5要素のvector

74 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 12:56:51.138 ID:8YGX561R0.net
本で勉強した方が早い気が……

75 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:06:03.793 ID:UTJjg3+y0.net
https://github.com/CtrlGit/cpp-tutorial\
https://github.com/sinairv/Cpp-Tutorial-Samples
https://github.com/fffaraz/awesome-cpp#debug
こういうのたくさんあるんじゃね?

76 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:07:51.970 ID:8vKEc2mma.net
おはよう恭太君

77 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:08:56.689 ID:FE2/UrXe0.net
>>72
それで十二分だった!

>>73
わかった!
ありがとう!

78 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:10:59.558 ID:D3QkJ6TI0.net
>>73をもう少し補足しておくと、

vector<long> hoge{5}; // vector<long>::vector( initializer_list<int> list ) を呼ぶので、「5」で初期化された要素が1つ
vector<long> hoge(5); // vector<long>::vector( size_t size ) を呼ぶので、デフォルト初期化された要素が5つ

こうなる
{}と()で使用するコンストラクタが違うっていうのがC++の厄介なところ

79 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:12:59.279 ID:FE2/UrXe0.net
>>74
本は知りたいことが書いてない!とおもいます。

>>75
そのサイトたまに見てますよ!
VIPPERの方がわかりやすいよ

80 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:13:45.220 ID:FE2/UrXe0.net
>>76
こんにちは!

81 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:14:04.983 ID:D3QkJ6TI0.net
>>1にはこっちの方がずっと向いてるな
http://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml

82 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:34:32.539 ID:3z6+r0oJ0.net
C++書くならEffective C++に一度で良いから目通してね

83 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:40:03.589 ID:Vl48OQjed.net
>>1が今まで聞いた程度のことはビャーネのプログラミング言語C++にもっと詳細に書かれてるんだよなぁ

84 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:41:52.137 ID:J4qQUS9L0.net
問題は分かりやすいことと正しいことは別ってことやな

85 :1:2018/10/19(金) 13:41:52.796 ID:cqrNWBvCd.net
Wi-Fi壊れた!

86 :1:2018/10/19(金) 13:45:28.190 ID:yfuRtHuB6.net
なおった!

87 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:47:24.221 ID:yfuRtHuB6.net
>>81
それ、少し見ることにするよ

88 :以下、?ちゃんねるからVIPがお送りします:2018/10/19(金) 13:54:00.959 ID:yfuRtHuB6.net
namespace hoge{
~~~
~~~
}
って書き方であってる?

総レス数 88
22 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★