引用是除指针外另一个可以产生多态效果的手段。

 //引用是除指针外另一个可以产生多态效果的手段。
#include<iostream>
using namespace std;
class A
{
public:
virtual void print()
{
cout<<"A"<<endl;
}
};
class B:public A
{
public:
void print()
{
cout<<"B"<<endl;
}
};
void main()
{
B b; A* t = new B();
A& a=b; a.print();
t->print();
}
输出:
B
B
请按任意键继续. . .
   另外:
 1.
    A* a = new B  //B是A的子类
    delete a 
    此时父类析构函数需要加virtual,如果不加virtual,那么最后只会调用A的析构函数,而派生的部分,并没有得到析构,导致内存泄露。
 
    B* b = new B
    delete b
    此时父类析构函数并不需要加virtual,就是一个很正常的构造析构过程
    A() -> B() -> ~B() -> ~A()
2.

  • 负数的高位用1补齐,正数的高位用0补齐,所以b(0xe0)的二进制表示形式是1111 1111 1111 1111 1111 1111 1110 0000,十六进制的表示形式是0xffffffe0。

3. 全局变量不再栈区

牛课--C/C++的更多相关文章

  1. 牛课第二次多校I

    链接:https://www.nowcoder.com/acm/contest/140/I来源:牛客网 题目描述 White Cloud has a square of n*n from (1,1) ...

  2. (原)2018牛课多校第4场--G

    传送门 /* 按值从大到小排序,记录下相应出现的次数并去重 枚举:从大到小枚举,如果能够通过删除其他数让当前这个数成为众数,则循环结束,输出此数,如果循环结束也没答案,输出-1 优先级:值优先 举例: ...

  3. 牛课练习赛34 Flittle w and Discretization 主席树维护Mex

    ittle w and Discretization 主席树维护Mex. 每个右端点 r 维护出一棵 在[1, r ] 区间中 其他所有的 值离这个 r 最近的的位置是多少. 然后询问区间[L,R]的 ...

  4. 牛客练习赛22 C 简单瞎搞题

    //位运算 // & 都是1 才是 1 // | 都是0 才是0 // ^ 不一样才是1 #include <iostream> #include <cstdio> # ...

  5. 一年iOS工作经验,如何一举拿下百度、美团、快手等Offer面经(附面试题)

    前言: 先简单说说我最近的面试经历吧.面试的公司很多,大部分最后都能得到令人满意的结果,我将这些体会记录下来,面了这么多公司,如果不留下什么,那岂不是太浪费了.对于我来说,这也是一次自我检查,在这次面 ...

  6. 在线OJ的小demo

    牛课网OJ规则 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read ...

  7. IT java培训机构名单(不全)

    基本都是借着招聘的幌子来招生的 1 百影世纪(北京)文化传媒有限公司 2 北京博创智软科技有限公司 3 北京博达远创科技发展有限公司 4 北京春玉影视文化传媒有限公司 5 北京顶测科技有限公司 6 北 ...

  8. 辗转相除法(GCD)求左旋转字符串

    本文写于2017-01-18,从老账号迁移到本账号,原文地址:https://www.cnblogs.com/huangweiyang/p/6297874.html 今天在牛客网上做了一道题,题意就是 ...

  9. Java String和StringBuffer和StringBuilder

    最近在牛课网上做了几道字符串操作的题目,好久没有做题了,之前用的也是大一时C语言做的,对Java字符串操作不太了解,所以深入了解一下String类的相关用法 String构造方法 String() 空 ...

随机推荐

  1. 在 MapPath 的 Path 参数中不允许出现“..”字符。

    找到IIS应用程序池,“设置应用程序池默认属性”->“常规”->”启用 32 位应用程序”,设置为 True. 这样我的问题就解决了..

  2. android ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)

    实例 <ImageView android:id="@+id/image" android:layout_width="fill_parent" andr ...

  3. 单调递增最长子序列(南阳理工ACM)

    描述 求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4 输入 第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串 ...

  4. leetcode:Count and Say

    The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ...

  5. Spring Transaction + MyBatis SqlSession事务管理机制[marked]

  6. hibernate学习笔记4---HQL、通用方法的抽取实现

    一.通用方法的抽取实现 由于hibernate中对增删改查的一切操作都是面向对象的,所以将增删改查抽取成通用方法,以满足不同的表的增删改查操作,简化jdbc代码. 具体例子如下: package cn ...

  7. 实现JavaScript中继承的三种方式

    在JavaScript中,继承可以通过三种手法实现原型链继承 使用apply.call方法 对象实例间的继承.     一.原型链继承 在原型链继承方面,JavaScript与java.c#等语言类似 ...

  8. plsql programming 04 条件和顺序控制

    1. 条件语句 if salary > 40000 or salary is NULL then give_bonus(employee_id, 500); end if; if conditi ...

  9. Headfirst JSP 01 (概述)

    HTTP 协议 http 是tcp/ip上层协议, 如果你对这些网络协议还不是太熟悉, 下面提供一个非常简单的解释, tcp负责确保从一个网络节点向另一个网络节点发送文件能作为一个完整的文件到达目的地 ...

  10. jsonp获取服务器数据的方式

    jsonp获取服务器的数据,有两种 一,跨域 二,不跨域 如果跨域 js的写法有两种 1, <script type="text/javascript"> $(func ...