gpt4 book ai didi

c++ - 为 C++ 中的类提供动态数组的默认值

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:57 25 4
gpt4 key购买 nike

/* friend 你好...我是C++初学者*/

#include<iostream>
#include<conio.h>
using namespace std;

class A
{
protected:
int a,b;
public:
A():a(0),b(0){ }

};

int main()
{

A *x;
x = new A[20];
delete []x;
getch();
return 0;
}

我的问题是,我们如何在 A 类中创建一个参数化的构造函数,以便我可以在动态创建数组时传递一些默认值而不使用 for 循环。另外请告诉我,传递这些值的语法是什么?

最佳答案

我想你想要的是这个:

#include<iostream>
#include<conio.h>
using namespace std;

class A
{
protected:
int a,b;
public:
A():a(0),b(0){ }
A(int a, int b) : a(a), b(b) { }

};

int main()
{
A *x;
x = new A[3]{ {10, 5}, {1, 2}, {4, 5} };
delete []x;
getch();
return 0;
}

请注意,您在代码中错误地使用了 delete []a; 而不是正确的 delete []x;

构造函数 A(int a, int b) : a(a), b(b) { } 初始化成员 ab 参数列表中的参数分别为ab

然后对于新的调用,你给它一个列表,其中构造函数的参数用花括号组合在一起,如下所示:

x = new A[3]{ {10, 5}, {1, 2}, {4, 5} };

关于c++ - 为 C++ 中的类提供动态数组的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19720823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com