子类父类(虚函数下的 引用指针 对象)->看来没有子类指针这回事
#include<iostream> using namespace std; class Father
{
public:
Father()
{
cout << "我是父类构造函数";
}
~Father()
{
cout << "我是父类析构函数 ";
}
virtual void print()
{
cout << "我是父类的函数";
}
public:
int f;
protected:
}; class Child: public Father
{
public:
Child()
{
cout << "我是子类构造函数";
}
~Child()
{
cout << "我是子类析构函数 ";
}
void print()
{
cout << "我是子类的函数";
}
public:
int c;
protected:
}; int main()
{
Father f1; //调用父类的构造函数
Child c1;//先调用 父类的构造函数 再调用子类的构造函数。
cout << endl;
cout << "f1.print() :";
f1.print(); //显示调用父类的函数 cout << endl << "c1.print() ::";
c1.print();//显示调用子类的函数 f1.f = c1.f;
cout <<"\n我是漂亮的分割线1----------------------"<< endl; Father *f2;
Child c2;
cout << endl;
f2 = &c2;
f2->print(); //显示调用子类的函数
cout << "\n我是漂亮的分割线2----------------------" << endl; Father f3;
Child *c3 = NULL;
// c3 = &f3;
c3->c;
c3->f;
c3->print(); //这种虽然不报错,但是在变异种出现错误,看来没有子类指针这回事
cout << "\n我是漂亮的分割线3----------------------" << endl; system("pause");
}
子类父类(虚函数下的 引用指针 对象)->看来没有子类指针这回事的更多相关文章
- C++类虚函数内存分布(这个 你必须懂)
转自:http://www.cnblogs.com/jerry19880126/p/3616999.html C++类内存分布 书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来 ...
- C++ 类的多态三(多态的原理--虚函数指针--子类虚函数指针初始化)
//多态的原理--虚函数指针--子类虚函数指针初始化 #include<iostream> using namespace std; /* 多态的实现原理(有自己猜想部分) 基础知识: 类 ...
- c++虚函数、子类中调用父类方法
全部 代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream> 4 #include< ...
- C++反汇编第三讲,反汇编中识别虚表指针,以及指向的虚函数地址
C++反汇编第三讲,反汇编中识别虚表指针,以及指向的虚函数地址 讲解之前,了解下什么是虚函数,什么是虚表指针,了解下语法,(也算复习了) 开发知识为了不码字了,找了一篇介绍比较好的,这里我扣过来了,当 ...
- [GeekBand] C++继承关系下虚函数内存分布
本文参考文献:GeekBand课堂内容,授课老师:侯捷 :深度探索C++对象模型(侯捷译) :网络资料,如:http://blog.csdn.net/sanfengshou/article/detai ...
- C++反汇编第二讲,反汇编中识别虚表指针,以及指向的虚函数地址
讲解之前,了解下什么是虚函数,什么是虚表指针,了解下语法,(也算复习了) 开发知识为了不码字了,找了一篇介绍比较好的,这里我扣过来了,当然也可以看原博客链接: http://blog.csdn.net ...
- C++对象内存模型2 (虚函数,虚指针,虚函数表)
从例子入手,考察如下带有虚函数的类的对象内存模型: class A { public: virtual void vfunc1(); virtual void vfunc2(); void func1 ...
- C++基础知识 基类指针、虚函数、多态性、纯虚函数、虚析构
一.基类指针.派生类指针 父类指针可以new一个子类对象 二.虚函数 有没有一个解决方法,使我们只定义一个对象指针,就可以调用父类,以及各个子类的同名函数? 有解决方案,这个对象指针必须是一个父类类型 ...
- C++对象内存模型2 (虚函数,虚指针,虚函数表)(转)
class A { public: virtual void vfunc1(); virtual void vfunc2(); void func1(); void func2(); virtual ...
随机推荐
- oracle 之 包,包体创建和使用案例
先创建包,再创建包体---------------创建包体--------------------- create or replace package body pkg_yygl_service I ...
- 【BZOJ】3527: [Zjoi2014]力
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3527 把${f_i}$消去之后换元就是卷积的形式,直接算就可以了. #include< ...
- Linux CentOS 7 安装mongoDB(4.0.6)
在官网下载安装包: https://www.mongodb.com/download-center/community 或者通过wget下载 wget https://fastdl.mongodb.o ...
- format格式化函数
注意:列表索引设置参数,‘0’是必须的.
- 关于oracle函数listagg的使用说明
做项目的过程中遇到过一个这样的需求,在“用户查询”前台加一个字段“用户角色”,要将用户的所有角色查询出来放到一个字段中,角色之间用“,”分隔. 发现一个办法是使用Oracle的listagg方法. W ...
- C.字符串(字符)操作
1.memchr 检测的是一段内存,strchr 检测的是一个字符串 如果一段内存中有0x0的话,显然不能用strchr去查找的.建议看看两个函数的原型 strchr会停在 '\0',memchr不会 ...
- IOException parsing XML document from class path resource [WebRoot/WEB-INF/applicationContext.xml];
parsing XML document from class path resource [applicationContext.xml]; nested exception is java.io. ...
- input = time 微信端(移动端)
垂直居中不管用:用margin-top解决 默认值value 不生效:严格按照日期格式设置
- 关于nodejs访问mysql的思考
nodejs要访问mysql数据库,首先必须要安装包mysql,命令:npm install mysql.安装成功后的访问数据库代码如下: var mysql = require('mysql'); ...
- JavaScript 第二章总结
Writing real code 设计程序的步骤 First, a high-level design and a flowchart more details Working through th ...