クラスの定義&生成

C++言語によるプログラミング入門6
クラスを作ろう(補足)
http://www.asahi-net.or.jp/~yf8k-kbys/newcpp6.html

で今日も勉強。


クラスを定義する。
private 、 public の定義はRubyと一緒なんですね。
Rubyが一緒なのか。
クラス定義に違和感は特に無しっと。
三項演算子も普通に使えるっと。


インスタンスの生成方法には違和感を感じるなぁ

Neko boss("boss");

ん〜・・・。new のキーワードをどこかに欲しいな・・・。

Neko boss = new Neko("boss");
boss = Neko.new("boss")

の方がかなりしっくりくる。慣れかな。

#include 
#include 
using namespace std;

class Neko
{
    private:
        string name_;
        string age_;
    public:
        Neko(string name){
            name_ = name;
        }

        Neko(string name , string age) {
            name_ = name;
            age_  = age;
        }
        void naku(){
            string ageinfo = (age_ == "") ? "秘密" : age_;
            cout << "にゃあ。俺様は" << name_ << "だ。" << endl;
            cout << "歳は" << ageinfo << "だ。" << endl;
        }                              
};

int main() {
    Neko boss("boss");
    cout << "cat が生成されました。\n";
    cout << "cat say : ";
    boss.naku();

    cout << "\n\n";

    Neko dora("dora" , "27");
    dora.naku();

    exit(0);
}  


実行結果

cat が生成されました。
cat say : にゃあ。俺様はbossだ。
歳は秘密だ。


にゃあ。俺様はdoraだ。
歳は27だ。