private:
string name;
をなくした場合、次のようになります。
class Neko
{
public:
Neko(string s){
name = s;
}
void naku(){
cout<<"にゃあ。俺様は"<<name<<"だ。"<<endl;
}
};
Nake() 中の name = s の name
nake() 中の name
は、どこかで宣言をしないとエラーになってしまいます。
質問文にあったサイトでも次の説明があります。
...
今書いているのは、個別の「猫」ではなく、その設計図ですが、もちろん、設計図に「名前」の置き場所を書いておく必要があります。それが4行目の
string name:
です。これは、文字列の「いれもの」ですが、これをクラスの定義の中に書いたわけです。
...
続けて次の説明があります。
...
前後にあるprivate:とpublic:ははじめの内はあまり気にしないでください。private:とあるのは、
その下のものはそのクラスにプライベート(非公開)なもので他のクラスのものはさわれないという意味です。
一方、public:の下にあるものは、そのクラスの外でも使える(つまり、公開)という意味になります。その意味は、次回以降に説明します。
...
そして、次のページにはこんな説明があります。
...
クラス内にある変数は、メンバ変数とかデータメンバといいます。また、クラス内の関数はメンバ関数といいます。要するに、クラス内のものはメンバなのですね。
...
ところで、どうしてデータを非公開にするのだろうと思っているかもしれません。これは、初心者にはなかなか難しい話題です。
簡単に言うと、「間違ってデータを変更できないようにする」ためなのです。
実は、長いプログラムでは、変更すべきでないデータを間違って変更してしまうというミスをしがちです。これを防ぐことができるのです。
...
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/19 11:22