虚方法——小甲鱼

1、在c/c++中,我们完全可以在没有创建变量的情况下为有关数据分配内存。也就是直接创建一个指针并让它指向新分配的内存块:

int *pointer = new int;

*pointer=110;

std::cout<<*pointer;

delete pointer;

程序不会自动释放内存,程序中的每一个new操作都必须有一个与之对应的delete操作。

2、声明一个虚方法的语法只需在其原型前边加上virtual保留字即可。例:virtual  void  play();

    另外,虚方法是继承的,一旦在基类里把某个方法声明为虚方法,在子类里就不可能再把它声明为非虚方法。

3、tips:

tip1:如果拿不准要不要把某个方法声明为虚方法,那么就把它声明为虚方法好了。

 tip2:在基类里把所有的方法声明为虚方法会让最终生成的可执行代码的速度变得稍微慢一些,但好处是可以一劳永逸地确保程序的行为符合你的预期。

 tip3:在实现一个多层次的类继承关系的时候,最顶级的基类应该只有虚方法。

tip4:析构器都是虚方法。如果它们不是虚方法,编译器就会根据它们在编译时的类型而调用那个在基类里定义的版本(构造器),那样往往会导致内存泄漏。

扫描二维码关注公众号,回复: 3403584 查看本文章

由于目前刚学c++,还没有遇到关于虚方法的编程题目,所以笔记很不完全,以后会再来补充,谢谢大家支持!

猜你喜欢

转载自blog.csdn.net/weixin_42617472/article/details/82831572
今日推荐