在类中能定义指针嘛??
菜鸟求救~~~~
象class A
{
char * a;
A(char * b)
{
a=b;
}
}象这样可以嘛?
可以的话怎么释放指针呢?
问题点数:0、回复次数:10Top
1 楼llf_hust()回复于 2005-04-03 09:51:57 得分 0
可以呀,不过你要记得先分配空间在使用
在析构函数里面释放指针Top
2 楼xjp6688(大平/要做必须最好)回复于 2005-04-03 09:54:03 得分 0
可以!Top
3 楼xtutzh(天涯)回复于 2005-04-03 09:55:33 得分 0
是可以的
释放的话就要用到析构函数了
A::~A()
{
delete a;
//or:delete []a
//由new运算符生成的内存空间
//or: free a;
//由malloc运算符生成的内存空间
}Top
4 楼zuoyanjing()回复于 2005-04-03 10:09:20 得分 0
class A
{
char * a = new char[100]; 我象这样分配空间的话它就报错了~~~~~~`
A(char * b)
{
a=b;
}
}
为什么啊??Top
5 楼llf_hust()回复于 2005-04-03 10:14:02 得分 0
要在构造函数里面分配Top
6 楼tip9914(尖尖)回复于 2005-04-03 10:16:02 得分 0
类的定义里面是不能给成员变量直接赋值的,要放在构造函数中
同学看你这个样子是太弱了,好好看看书吧
class A
{
char * a A(char * b)
A(char* b)
{
a=new char[100];
memcpy(a,b,size);
}
~A()
{
if(a)
delete[] a;
}
}
Top
7 楼WonderOne(WonderOne)回复于 2005-04-03 10:20:38 得分 0
class A
{
int i = 10;
};类似这样初始化不行的,跟java不一样,我也是刚转过来的。
不知道说的对不对?c++为什么要这样做?Top
8 楼zmpcoming((我来学习!))回复于 2005-04-03 10:29:24 得分 0
当然了,类的成员只能定义,分配操作不可以在这里的。Top
9 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-04-03 12:06:38 得分 0
是可以的
释放的话就要用到析构函数了
Top
10 楼sharkabc(shark)回复于 2005-04-08 14:36:59 得分 0
在类的声明里面声明指针,但是初始化或者分配操作在构造函数里面进行,相应的析构函数要释放,拷贝构造函数也要有类似的初始化或者分配操作。Top




