浅拷贝
深拷贝与拷贝构造函数
浅拷贝
#include<iostream>
using namespace std;
class house
{
public:
house(int area)
{
this->Area = area;
pKey = malloc(area);
}
~house() {
free(pKey);
pKey = nullptr;
};
void Where() const
{
std::cout << "Hello,I Live in" << pKey << std::endl;
}
private:
void* pKey;
int Area;
};
int main() {
house h1(180);
h1.Where();
house h2 = h1;
h2.Where();
return 0;
}
深拷贝与拷贝构造函数
#include<iostream>
using namespace std;
class house
{
public:
house(const house&h)
{
this->Area = h.Area;
pKey = malloc(h.Area);
}
house(int area)
{
this->Area = area;
pKey = malloc(area);
}
~house() {
free(pKey);
pKey = nullptr;
};
void Where() const
{
std::cout << "Hello,I Live in" << pKey << std::endl;
}
private:
void* pKey;
int Area;
};
int main() {
house h1(180);
h1.Where();
house h2 = h1;
h2.Where();
return 0;
}