C++学習ログ25---デフォルトのコンストラクターとオブジェクトのインプレース初期化


デフォルトのコンストラクター

#include<iostream>
using namespace std;
class Circle
{
    
    
private:
    double radius;
public:
    Circle() = default;
    Circle(double r)
    {
    
    
        radius = r;
    }
    double getArea()
    {
    
    
        return 3.14 * radius * radius;
    }
};
class Square
{
    
    
private:
    double side;
public:
    Square() = delete;
    Square(double side)
    {
    
    
        this->side = side;
    }
    double getArea()
    {
    
    
        return side * side;
    }

};
class Combo
{
    
    
public :
    Circle c;
    Square s;
    Combo() :s{
    
     1.0 } 
    {
    
    
        s = {
    
     8.0 };
    }
};
int main()
{
    
    
    return 0;
}

2.オブジェクトのインプレース初期化

#include<iostream>
#include"circle.h"
class X
{
    
    
    int  a = 1;
    int  b = {
    
     2 };
    int  c{
    
     3 };

    std::string s{
    
     'H','E','L' };
    std::string s2{
    
     "Hello" };
    std::string s3 = "world";

    int ARR1[3] = {
    
     1,2,3 };
    int arr2[4]{
    
     1 };
    double arr3[5]{
    
     12.0,32.0 };


};
int main()
{
    
    
    return 0;


}

おすすめ

転載: blog.csdn.net/taiyuezyh/article/details/124176325