#include<iostream>using namespace std;//继承与组合混搭情况下,构造和析构调用原则
class Grandfather
{
public:Grandfather( char * g){this->G_t1=g;cout<<"G_t1====== "<<G_t1;cout<<"我是顶头的爷爷的构造函数\n";}~Grandfather(){cout<<"我是顶头的爷爷的析构函数\n";}
protected:char *G_t1;
private:
};
class Father:public Grandfather
{
public:Father( char *f):Grandfather("hahahah"){F_t1=f;cout<<"F_t1====== "<<F_t1;cout<<"这是父亲的构造函数\n";}~Father(){cout<<"这是父亲的析构函数 \n";}
protected:char *F_t1;
private:
};
class Child:public Father
{
public:Child():Father("dsa"),g1("sfsdfds"),g2("g2")//不懂{cout<<"这是孩子的构造函数 \n";}~Child(){cout<<"这是孩子的析构函数 \n";}
protected:int C_t1;Grandfather g1;//这里这两句有疑问,为什么Grandfather明明必须有形参,但是为什么这里初始化参数反而不对了呢?Grandfather g2;
private:
};void objplay()
{Child c1;
}
int main()
{objplay();system("pause");return 0;
}

  不明白的是这两句

但是这好像是套路,必须这么做呢

就像例如:

#include<iostream>using namespace std;//继承与组合混搭情况下,构造和析构调用原则
class Grandfather
{
public:Grandfather( char * g){this->G_t1=g;cout<<"G_t1====== "<<G_t1;cout<<"我是顶头的爷爷的构造函数\n";}~Grandfather(){cout<<"我是顶头的爷爷的析构函数\n";}
protected:char *G_t1;
private:
};
class Father:public Grandfather
{
public:Father( char *f):Grandfather("hahahah"){F_t1=f;cout<<"F_t1====== "<<F_t1;cout<<"这是父亲的构造函数\n";}~Father(){cout<<"这是父亲的析构函数 \n";}
protected:char *F_t1;
private:
};
class Child:public Father
{
public:Child():Father("dsa"),g1("sfsdfds"),g2("g2"),f1("f1")//不懂{cout<<"这是孩子的构造函数 \n";}~Child(){cout<<"这是孩子的析构函数 \n";}
protected:int C_t1;Father f1;Grandfather g1;//这里这两句有疑问,为什么Grandfather明明必须有形参,但是为什么这里初始化参数反而不对了呢?Grandfather g2;
private:
};void objplay()
{Child c1;
}
int main()
{objplay();system("pause");return 0;
}

  运行结果是:

发现一个真理没?只要调用一个Father就必须调用一个爷爷啊

套路

转载于:https://www.cnblogs.com/xiaochige/p/6613022.html

在继承类中,父类在子类中初始化问题,已解决相关推荐

  1. C++继承中父类和子类之间的赋值兼容

    文章目录 1 C++继承中父类和子类之间的赋值兼容 1.1 父子间的赋值兼容 1.2 特殊的同名函数 1 C++继承中父类和子类之间的赋值兼容 1.1 父子间的赋值兼容 在公有继承的条件下,子类对象可 ...

  2. C++继承中父类和子类之间的同名覆盖

    文章目录 1 C++继承中父类和子类的同名成员变量 1.1 父类和子类的同名成员变量 2 C++继承中父类和子类的同名成员函数 2.1 父类和子类中的同名成员函数 1 C++继承中父类和子类的同名成员 ...

  3. 继承中父类、子类构造器中的super. 和super()运用

    1)第一种用法:super 关键字是父类对象的引用 package com.example;public class Person{ // 父类public String name="李四& ...

  4. java 继承 子类 实例化_关于Java继承中父类和子类构造函数的问题

    Java子类在实例化时默认调用的是父类的无参构造函数,不论实例化时调用的是子类的有参还是无参构造函数, 1.当父类没有显式定义构造方法时, 编辑器会默认为此类添加一个隐式无参构造函数.此时子类可以有自 ...

  5. java中父类与子类的关系以及使用

    java中父类与子类的关系以及使用 在java中规定:一个父类可以有多个子类,但是一个子类只能有一个父类.子类可以通过extends关键字来继承父类.做个比较通俗的比喻,就像一个父亲可以有多个亲孩子, ...

  6. java子类和父类实例_java中父类与子类之间的转换示例

    java中父类与子类之间的转换示例有以下三点: 示例一 父类强制转子类 pre class="brush:php;toolbar:false">Father f = new ...

  7. java中父类与子类有相同属性调谁?取决于左边

    java中父类与子类有相同属性调谁?答案是:取决于左边! 一. 在今天的继承复习当中,我有对继承中的属性有新的感悟------>子类继承父类,会继承父类的方法和属性,看下图: 从上图可以看出,即 ...

  8. java中父类和子类_java中父类和子类的关系

    子类继承父类,子类中就拥有父类的所有属性和方法.在创建子类的实例的时候,父类和子类到底是如何执行的呢?还有静态代码块和非静态代码块和构造方法的执行顺序? 1.先执行父类的静态代码块,然后再子类静态代码 ...

  9. Java父类与子类中静态代码块 实例代码块 静态变量 实例变量 构造函数执行顺序...

    实例化子类时,父类与子类中的静态代码块.实例代码块.静态变量.实例变量.构造函数的执行顺序是怎样的? 代码执行的优先级为: firest:静态部分 second:实例化过程 详细顺序为: 1.父类静态 ...

  10. C++ 中父类与子类赋值,取地址,引用的理解关系

    /*************** 功能:为了验证C++中父类与子类的赋值,引用,取地址. ****************/ #include <iostream> using names ...

最新文章

  1. session may be lost when use window.open to open a new window
  2. Dojo 之 面向对象
  3. 基本系统设备感叹号更新不了_电脑识别不了U盘?别紧张,免费教你如何解决...
  4. React开发(140):react中ref为dom添加ref
  5. 信息安全学习路线图_Python学习图谱:学习到困惑的时候可以参考的图谱
  6. java实验6 词频统计_java实训一——词频统计
  7. IO库----IO类,文件输入输出,string流
  8. Docker从理论到实践(九)------使用Dockerfile创建镜像
  9. 计算机组成原理华中科技大学秦磊华,计算机组成原理(华科)chap1
  10. C语言中期报告模板,毕业设计中期报告模板.doc
  11. Python爬虫小项目——实现英语翻译功能(四)
  12. android手机视频编辑,美册视频编辑剪辑制作
  13. 给AI新手推荐的十篇最佳数据科学文章
  14. 【WIN10】关闭/开启休眠功能
  15. 科普大佬说 | 智能仿生机器鱼
  16. 力扣算法——78_子集
  17. 二层交换机的工作原理
  18. python 获取巨量星图数据
  19. html meat 标签 菜鸟,seo技术之META标签
  20. 学python能做什么兼职-初学Python到月入过万最快的兼职途径(纯干货)

热门文章

  1. Oracle 权限介绍及管理
  2. [转]Linux C语言头文件搜索路径
  3. 中国石油大学计算机专业论文,中国石油大学(计算科学与技术专业)毕业论文规范.doc...
  4. Mq安装服务器文件传输,RabbitMQ学习:安装RabbitMQ及RabbitMQ的初步配置(一)
  5. notepad++ c语言编译,Notepad++編譯和運行C語言 (GCC)
  6. Serverless 工程实践 | Serverless 应用优化与调试秘诀
  7. 从零开始入门 K8s | 应用配置管理
  8. 云原生时代,2个方案轻松加速百万级镜像
  9. 计算机16进制应用,16进制计算器安装方法 16进制计算器使用技巧
  10. 编写可变参数函数 c语言,C语言中编写可变参数函数