Help us understand the problem. What is going on with this article?

C++ クラス基礎 継承 メンバ初期化リスト ポインタ

サンプル

C++のクラス基礎として
・継承:親クラスと子クラス
・メンバ初期化リスト
・ポインタ
・コンストラクタ
・デストラクタ
を実行される流れとともに確認できます。
基礎としてはこんなところでしょうか。

Cplusplus_class.cpp
#include <iostream>

class Food 
{
public:
    Food()//コンストラクタ
    {
        std::cout << "Food コンストラクタ" << std::endl;
    }
    ~Food()//デストラクタ
    {
        std::cout << "Food デストラクタ" << std::endl;
    }
};

class Rice : public Food
{
public:
    //メンバ初期化リスト コンストラクタ
    Rice() : Hakumai(0), Genmai(0), Rokkoku()
    {
        std::cout << "Rice コンストラクタ" << std::endl;
    }
    ~Rice()//デストラクタ
    {
        std::cout << "Rice デストラクタ" << std::endl;
    }
    void ShowHakumaiValue() {
        std::cout << "Riceの中のHakumai = " << Hakumai << std::endl;
    }
private:
    //メンバ変数
    int Hakumai;// = 0;
    int Genmai;// = 0;
    bool Rokkoku;
};

int main()
{
    std::cout << "スタート" << std::endl;
    //ポインタ
    Rice *rice;
    rice = new Rice();
    rice->ShowHakumaiValue();
    delete rice;
    std::cout << "エンド" << std::endl;
    return 0;
}

出力結果

スタート
Food コンストラクタ
Rice コンストラクタ
Riceの中のHakumai = 0
Rice デストラクタ
Food デストラクタ
エンド
yusa0827
はじめまして。 メモ代わりにします。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away