レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
741年目
-
国民的MMORPGゲームのスレへようこそ
-
俺の大好きなゲームきた!と思ったらもう終わりか
-
人狼北ア
-
300000にこだわる男
-
多重継承できないよ
しないほうがいいってのが一般的な考え
-
何でもできちゃうC++はすごいね
-
Mainの(string[] args)を毎回消してるけど、意味は知っている?
実際消して問題ないんだけど。
-
戦後さんこんばんは
見るに今はオーバーライドだかなんだかをやってるあたり?
-
ああ、継承
前のクラスの能力を保持したまま新規クラス作れるとかそんなんだっけ
-
別のインスタンス作ってるから、当然Kittyがでるよ
-
基底クラスの変数なりを明示的に呼び出すthisみたいなbaseってキーワードがあります
自分で書く分には継承なんか使わんけど
-
それpublic string str = "Tokyo mew mew";からpublic stringを抜いて実行することできたっけ?
-
ああ、元のクラスで変数宣言してても継承先のクラスでは使えないのか
-
フィールドで代入できないだけでpublicだから使えるんじゃないの?
ぼくの知識が間違ってるの?
-
>>739
あってるよ、フィールドじゃ無理
-
申し訳ありませんが、画面が見切れててそっち見えてないです
-
newないバージョンでコンパイルしたとき警告でてた?
-
戦後さん。newない場合はプログラム実行時にこういうのが出るよ。
ttps://gyazo.com/ae9aa017bf794ed4f72bebbae219b0ef
-
下のエラー一覧見て
-
まずTokyoMMとはなんなのか
なぜなのか
-
なんかFF6か7でこんな吹雪のBGMを聞いたなあ
-
そんなに東京みゅーみゅーが好きなの?
-
2018年にもなって
こんなに東京ミュウミュウを聞くとは思わなかった
-
東京ミュウミュウを連呼してる時点でヤバい人です
-
アニメ放送が2002年とかっていう、おじさん世代です
-
東京ミュウミュウ連呼おじさん
-
100人もおじさんの東京ミュウミュウ連呼を聞いている
-
俺ちゃんと指摘したよ。そこのページ古いって
-
ちゃんと調べよ
ttp://wisdom.sakura.ne.jp/programming/cs/cs18.html
-
とりあえずCtrl + Fで検索しよ。上から読むの面倒でしょ
-
これが戦後が連呼してたやつらしいです
ttps://www.youtube.com/watch?v=2B4HQ8pqOsU
-
これ朝やってたやつだ
-
そりゃシグネチャってただの英単語だしなw
-
戦後ってヤバい人なの?東京ミュウミュウとかデ・ジ・キャラット連呼してる人初めて見た
-
もう毎回手打ちしなくてもよくね
-
オーバーロードとオーバーライド。似ているようでぜんぜん違うもの
-
マジカルにゃんにゃんやってないかー
かーっ
-
一番重要なやつ飛ばしちゃうやつー
ニャンニャン
-
応急処置でいいの見つけたわ。
Console.ReadKey();
最後の30000からこれにすれば、キー押せばコンソール消えるよ
-
ちがう。Main(){ Console.ReadKey(); }
-
戦後さん
応急処置では何をしていたのか全くわかっていないことが露呈していますよ
-
せめて、メインの中に書いて
-
違います
-
インデント増やしたり下げたりは複数行選択しておけば一気にできるよ
-
戦後は何か勘違いしてそうだから、書くね。
Test obj = new Test();
obj = new Test("Tokyo mew mew");
は
new Test();
new Test("Tokyo mew mew");
でも動くよ
-
Test objとかなくてもクラスのインスタンスは作れるってこと。
そして、インスタンスを作られたラコンストラクタが呼ばれる
-
参照型の変数を箱っていうのやめてw
-
デフォルトコンストラクタじゃないよ。
自分でpublic Test()で宣言してるよ。
-
「コンストラクタが宣言されていないクラスでも、デフォルトコンストラクタが存在します
デフォルトコンストラクタは、何も引数を受け取らない public なコンストラクタです」
-
両方出ることがただしんだよ
さっきは戦後さんもそう言ってたじゃない
コンストラクタを二回呼び出してるんだから
-
Test objがあるせいで理解できてないなw
>>770で動かせば理解できるのでは?
-
objに何が入るかは
メンバに
public string name;
を追加して
コンストラクタを
Test()
{
name = "Kitty";
}
Test(string str)
{
name = str;
}
static void Main()
{
Test obj = new Test();
Console.WriteLine(obj.name);
obj = new Test("mew mew");
Console.WriteLine(obj.name);
Console.ReadKey();
}
じゃわからん?
-
new Test();で箱ができるけど、箱はでっかいから参照しないと行けない
obj = new Test();
で箱への参照ポインタをobjに入れてくれてる
次の
obj = new Test("mew mew");
で、"mew mew"を使って作られた新しい箱ができて、
その箱への参照ポインタをobjに入れてくれてる
-
参照型の変数は箱というか矢印みたいな認識をしてほしいなあっていつか言おうと思ってた
-
Testのメンバはnameであって、
strはメソッドの引数で指定してあるだけで使ってないでしょ
-
objがインスタンス化ってのがどうしても理解できていなさそうで怖いw
-
いや、まあ、objは変数ではある
変数ではあるんだけども、まあそういうことです
-
>>237
-
言われてみればぼくもオブジェクトってなんなのか詳しく説明できる気がしない
クラスをインスタンス化したものです じゃ違うんでしょうか先生方
-
objってのは変数とは呼ぶけど、中にはいっているのはnew Test();っていうインスタンス化によって作られたインスタンス
ちなみに、オブジェクトってのはインスタンスよりももっと大きい意味でインスタンスのこともオブジェクトって言う
オブジェクトとインスタンスの違いはなんだったかな
-
さらに混乱させるとC#ではint型なんかもじつはオブジェクトなんだ
-
まず、オブジェクトって言葉が一般的すぎて、使われ方に範囲がある。
なので、C++でもC#でもVBでも「オブジェクト」といった言葉が使われる。
C$でオブジェクトといえば、クラスをインスタンス化したものっ「インスタンス」て覚えればいいよ。
-
起きて
-
クラス: 設計図
インスタンス: 設計図を元に作られた製品
オブジェクト: 俗語 インスタンスのことを一般的にオブジェクトと呼ぶ ただし、俗語であり、範囲が大きいので、ものによってはクラスのこともオブジェクトと呼ぶこともある
-
インスタンス化しなおしてるのではなく新しいインスタンスを作ってます
前にnewしたやつはどこからも参照されてないインスタンスとして存在はしてる
-
そりゃ、フィールドでint xを宣言しなきゃ
-
だってint x;って定義している場所が、コンストラクタの中であって、Testのメンバじゃないでしょ
-
スコープについて戻ってまた勉強し直しましょう
-
引き継ぐ云々はスコープの話です
-
コンストラクタはインスタンス化したときに、必ず呼ばれるメソッドだと思えばいいよ
-
「
コンストラクタは、基本的にはメソッドと変わりませんが二つの特徴を持ちます
一つはクラスと同じ名前であり、クラスと同じメソッドはコンストラクタとなります
もう一つは戻り値は無いため、コンストラクタには戻り値は指定しません
」
-
コンストラクタは必ず呼び出されるメソッドってのは>>237の3枚目にちゃんと書いてあるでよ
-
クラス: 設計図
インスタンス: 設計図に基づいて、作られた製品
インスタンス化: 設計図に基づいて作っていくこと
コンストラクタ: 設計図に基づいて作るとき、最初はどういう部品を置いていくかという設定
この説明はまだむつかしい?
-
忘れてるんじゃないんだ・・・
インスタンスを2個作ってるんだよ
-
objっていうのはアドレスの参照であって実体ではないんだよ
ポインタ投げたマンには難しいか
-
Test obj = new Test(); と
int i = 0; はほぼ同じだよ
int i;
i = 0;
と同じ様に
Test obj;
obj = new Test();
でもいいんだよ
宣言と代入を同時にする初期化が必要ではないんだよ
あと、>>778でも言ったけど
obj = new Test(); では
new Test();で作った箱の住所をobjに入れてたんだけど
obj = new Test("mew mew"); で、
また新しく作った箱の住所を、またobjに上書きする形で代入しているんだよ
-
これでいいかな?箱と書いてるけど、概念だけね。
Test obj; //箱作った。
obj = new Test(); //箱objに1個目のインスタンスをいれた。
obj = new Test("Tokyo mew mew");//箱objに2個目のインスタンスを上書きした。
-
メモリの番号を指す矢印がTest型のobjっていう変数
メモリに格納されてるのがTest型のインスタンス
-
戦後が書いているのはC++的名概念のせいで、ぜんぜんC#だと違うっていう悲しみ。
-
とりあえずペイントで描いてみよ
-
お、なんか難しそうなことやってる
そろそろ3Dゲームでミリオンセラー出せそう?
-
objをオブジェクトって呼ぶのやめよう。
objを違う名前にしよ。
-
で、新しいインスタンスをobjに代入したらどうなるの?
-
マロンかわいそうだから相手してあげて
-
はい
-
絵心とは
ttps://gyazo.com/d12e3870ce21a93d0325e3b0771af7a8
-
ちがうよ。
xの初期化がされてないから。
2つのコンストラクタで両方ともxに適当な文字いれて
-
x = "てす";
y = "1";
にすればわかるよ。
-
二回目のコンストラクタで作られたインスタンスのxには何が入ってるの?
空白?null?コンパイルエラー?
-
ちょっと1個目のxを10にしてみて
-
いや前にnewしたやつもメモリのどこかに残ってるはずだよ
内容を上書きしたわけじゃない 新しい領域にインスタンスを作った
-
混乱させるようなこと言ったかな
とりあえず>>811を覚えて
-
がんばった
ttps://gyazo.com/78245d19483fce51ab1c55c70d611607
-
あるにはある
あるけど、どこからも見に行くことはできないから、本当にあるのかもわからない
C#だと自動で消してくれたりしてるけど、C/C++だと自動では消してくれないので極端に言うとPCの電源落とすまでずっと残ってる
-
アプリ起動しっぱだとメモリいっぱいいっぱいになるまで消してくれなかったりするw
-
objはただのインスタンスへの行先案内人だよ
イコールにしてるけど、objはインスタンスではないんだ。
-
objは箱じゃなくて矢印ってのはそういうことを言いたかった
-
完璧だ。それで間違いない
-
メモリリークって呼ばれる現象ですね
-
それが参照型ね。
-
戦後はポインタも理解したも同然
ピアカスのノイマンと呼ばれる日も近い
|
|
掲示板管理者へ連絡
無料レンタル掲示板