wlbk.net
当前位置:首页 >> C++在构造函数中初始化动态数组,我定义了一个类里... >>

C++在构造函数中初始化动态数组,我定义了一个类里...

这个绝对可以的,例子。 class A { private: int *p; A(int num) { p=new int[num]; } }; 在类中声明一个指针,在构造函数中分配空间。但是要记住delete p。 ~A() { delete p; }

不能,因为只有构造函数才能构造对象(在内存中为对象分配空间并做必要的初始化工作),普通函数不能构造对象。

你可以输入以后再拷贝到数组里去(operator=),因为定义对象数组时就必须初始化每个对象,所以 student = new Student[n]; 这一句实际上已经调用了每个对象的无参数构造函数,如果你没有提供一个无参数的构造函数那么这个句子会报错 另一种方法...

C++如何用构造函数初始化字符串数组: 比如有这样一个类: Class XXX { int a; char c[10]; }; 方法: XXX::XXX(int num, cosnt char* str){ a = num; strcpy(c, str);}

你不能在B类的构造函数中动态分配B的对象。因为,这个时候B类还没有被构造出来,系统根本不知道这个B类有多大,所以没办法分配空间的!

有两种方法,一种是使用初始化列表,一种是C++11提供的类内初始化。初始化的参数通常为列表,即数组的列表初始化,对于char数组还可以用字符串字面值作为初始化的参数。 数组通常使用列表进行初始化,如果列表元素小于数组大小,则剩下的元素默...

C++不支持直接构造 构造函数带参数的数组,也就是说如果你想要创建一个数组,必须要保证创建类型有默认的构造函数。

class A{ private: int a[10]; public: A(int n):a{n}{ }}注:数组可以用大括号初始化,且不会出warning。如: class A{ private: int a[100]; public: A(int a0,int a1,int a2):a{a0,a1,a2}{ }}

Date()里面的用你自定义的结构体类型做形参的类型! class Date { public: Date(struct Time *t) { //这里是实现功能函数体,也就是初始化结构体数据成员! } private: struct Time *T;//要初始化的结构体数据成员! //Date类里其他成员我就省略...

for(i=1;i

网站首页 | 网站地图
All rights reserved Powered by www.wlbk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com