class Test{
public:
Test(int a){
data = a;
}
~Test(){
}
int pass_class(Test *mytest){
std::cout << "test->data :" << mytest->data << std::endl;
return 0;
}
private:
int data;
};
class Test2{
public:
~Test2(){
}
int pass_class(Test2 *mytest){
std::cout << "test->data :" << mytest->data << std::endl;
return 0;
}
private:
int data;
};
int main(int argc,char *argv[])
{
Test *test = new Test(5);
test->pass_class(test);
delete test;
Test2 t2;
t2.pass_class(&t2);
return 0;
}
我们用new创建的对象,很像c的malloc申请的指针,存储在堆中,需要我们手动释放。
我们不用new创建的对象,存储在栈中,和普通的临时变量一样,由计算机管理。而且,因为是自动创建的,所以我们甚至可以不写他的构造方法。