这个是很常见的面试题了吧,定义堆上的对象,意思就是只能new。因此可以考虑私有化析构函数。 当然不仅需要私有化析构函数,还需要类内部提供delete的接口,不然你new了,外部没法delete的。 另外私有不要设置为private,设置成protected是最好的。这样子类还是能调用父类析构函数的。 至于定义只能在栈里面生成对象的类,我看了很多人都是说重载operator new,并且设置为私有。 其实这样是不行的,你自己重载了operator new,仍然可以通过::new的方式,调用全局作用域的new函数,绕过你自己重载的operator new,所以这个我感觉不能定义出这样的类
24 2

相关推荐

野猪不是猪🐗:把你的学校加黑,加粗,斜体,下划线,描边,内阴影,内发光,投影,外发光,再上渐变色,居中,放大到最大字号,再把简历里其它内容删了,就行了
点赞 评论 收藏
分享
牛客网
牛客企业服务