91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C++中new()的初始化列表使用技巧

c++
小樊
114
2024-09-06 07:26:37
欄目: 編程語言

在C++中,new操作符用于動態分配內存并創建對象。當使用new創建對象時,可以通過構造函數的初始化列表來初始化對象的成員變量。以下是一些關于如何在C++中使用new和初始化列表的技巧:

  1. 使用初始化列表初始化成員變量:
class MyClass {
public:
    MyClass(int x, int y) : a(x), b(y) {}
private:
    int a;
    int b;
};

MyClass* obj = new MyClass(1, 2);
  1. 使用初始化列表初始化常量和引用成員:
class MyClass {
public:
    MyClass(int x, int y) : a(x), b(y) {}
private:
    const int a;
    int& b;
};

int value = 2;
MyClass* obj = new MyClass(1, value);
  1. 使用初始化列表初始化基類和成員對象:
class Base {
public:
    Base(int x) : a(x) {}
protected:
    int a;
};

class Derived : public Base {
public:
    Derived(int x, int y) : Base(x), b(y) {}
private:
    int b;
};

Derived* obj = new Derived(1, 2);
  1. 使用初始化列表調用默認構造函數:
class MyClass {
public:
    MyClass() : a(0), b(0) {}
    MyClass(int x, int y) : a(x), b(y) {}
private:
    int a;
    int b;
};

MyClass* obj1 = new MyClass(); // 調用默認構造函數
MyClass* obj2 = new MyClass(1, 2); // 調用帶參數的構造函數
  1. 使用初始化列表初始化類型為類的成員變量:
class InnerClass {
public:
    InnerClass(int x) : a(x) {}
private:
    int a;
};

class OuterClass {
public:
    OuterClass(int x, int y) : inner(x), b(y) {}
private:
    InnerClass inner;
    int b;
};

OuterClass* obj = new OuterClass(1, 2);
  1. 使用初始化列表初始化類型為容器的成員變量:
#include<vector>

class MyClass {
public:
    MyClass(int x, int y) : vec({x, y}) {}
private:
    std::vector<int> vec;
};

MyClass* obj = new MyClass(1, 2);

總之,在C++中使用new和初始化列表可以簡化對象的創建和初始化過程。初始化列表提供了一種高效、安全的方式來初始化對象的成員變量。

0
霍山县| 尼玛县| 加查县| 台山市| 大竹县| 饶平县| 双辽市| 定边县| 柞水县| 榆树市| 永州市| 宜丰县| 娱乐| 吴川市| 永宁县| 昭苏县| 伊春市| 大关县| 行唐县| 河北区| 兰坪| 长丰县| 屯昌县| 开鲁县| 明光市| 昭平县| 潜山县| 昌黎县| 甘泉县| 秦皇岛市| 金塔县| 松溪县| 龙胜| 东城区| 商水县| 鹤岗市| 巧家县| 兰溪市| 永修县| 宕昌县| 商水县|