这个是咋运行的,浅拷贝??

#include
using namespace std;
class CNum{
public:
CNum()
{
m_pNum=new int;
}
void Setval(int nIn)
{
*m_pNum=nIn;
}
int Getval()
{
if(m_pNum)
{
return m_pNum;
}
}
private:
int
m_pNum;
};
int main()
{
CNum num1;
num1.Setval(10);
CNum num2(num1);
cout<<num2.Getval() <<endl;
num1.Setval(1000);
cout<<num2.Getval() <<endl;
num2.Setval(211);
cout<<num1.Getval() <<endl;
}

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果