c++怎么用new创建的对象的数组,又怎样删除对象

如题所述

class A
{
};
void func()
{
A *p=new A[100]; //创建100 个对象
.
.
.
.
delete []p; // [] 号 一定要有的
}追问

如果类里有属性,那要怎么初始化呢,还有怎么调用这些对象的方法

追答

CName one(p); 声明 one 是类 CName 的一个对象,并初始化 one的值为 p , 对象one 又调用了 getNamespace() 函数

要看书啊 .....

构造函数进行初始化,

追问

那个啥??我想,你们能不能举个例子,CName是对象名吗?这样真的看不懂哎

追答

class A // A 是类名
{
public:
void fun(); // 成员函数
private:
int num; //成员变量
int i; //成员变量
};

int main()
{
A a(2); // 声明对象
A *p=new A[100]; 声明对象数组
cout<<a.fun()<<endl; //对象调用 成员函数
return 0;
}
void fun()
{
.......
}

追问

p->fun()是不是表示A[0]的fun()函数,那要表示A[1]的fun()函数怎么办??

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-19
int main()
{
char *p=new char[5];
strcpy(p,"DING");
CName one(p);
delete []p;
cout<<one.getNamespace()<<endl;
return 0;
}追问

你这个。。真的看不懂哎CName one(p);one.getNamespace()都是啥啊

第2个回答  2011-06-19
int *a=new int;
char *b=new char; //初值为1
int *c=new int[100]; //创建100个动态对象

delete a;
delete b;
delete []c;追问

请你先写个类好不??你这样看不懂诶

第3个回答  2015-10-21
A aa = new A[100];
delete[] aa;

能看懂吧?
相似回答