问个问题,关于 malloc和new
malloc和new有什么区别 有一个程序
#include<iostream>
using namespace std;
class b
{
private:
b* pb;
public:
b();
void view();
};
void b::view()
{
cout<<"view"<<endl;
}
b::b()
{
pb = new b;
}
int main()
{
b a;
a.view();
return 0;
}
能够编译通过,但是缺不能调用view()函数,
如果把构造函数改成 pb = (b*)malloc(sizeof(b)); 就可以调用,比较奇怪 有人能解释下吗