C++中派生类隐式调用与显式调用基类的构造函数
通过派生类的构造函数调用基类的构造函数有两种方式,隐式和显式两种。 所谓隐式方式就是在派生类的构造函数中不指定对应的基类的构造函数,这个时候调用的是基类的默认构造函数(即含有默认参数值或不带参数的构造函数)。而所谓显式方式,就是在派生类的构造函数中指定要调用的基类的构造函数,并将派生类构造函数的部分参数值传递给基类构造函数。注:除非基类有默认的构造函数,否则必须采用显式调用方式
#include <iostream>
using namespace std;
class A
{
public:A(int x = 0,int y = 0){a = x;b = y;}
private:int a;int b;
};
//基类A有默认的构造函数,可以隐式调用
class B:public A
{
public:B(int z = 0){c = z;}
private:int c;
};
int main()
{B b1;return 0;
}
#include <iostream>
using namespace std;
class A
{
public:A(int x,int y){a = x;b = y;}
private:int a;int b;
};
//基类A没有默认的构造函数,其现有的构造函数需要传递参数,通过
//派生类构造函数调用A构造函数时必须如下显式调用
class B:public A
{
public:B(int x,int y,int z):A(x,y){c = z;}
private:int c;
};
int main()
{B b1(1,2,3);return 0;
}
C++中派生类隐式调用与显式调用基类的构造函数相关推荐
- 有虚继承的类其有几个虚继承的基类则该类就有几个虚表
对于下面的测试代码(64位系统):C类继承了A B 均为虚类,所以在结果中sizeof(C) 结果为32 #include<iostream> using namespace std; ...
- android mvp框架基类,Android MVP架构项目搭建封装,基类封装
综述 对于MVP (Model View Presenter)架构是从著名的MVC(Model View Controller)架构演变而来的.而对于Android应用的开发中本身可视为一种MVC架构 ...
- asp.net 的page 基类页面 做一些判断 可以定义一个基类页面 继承Page类 然后重写OnPreLoad事件...
public class BasePage:Page protected override void OnPreLoad(EventArgs e) { base.OnPreLoad(e); ...
- java 单例基类_PHP基于单例模式实现的数据库操作基类
本文实例讲述了PHP基于单例模式实现的数据库操作基类.分享给大家供大家参考,具体如下: 配置文件: $db = array( 'host'=>'localhost', 'user'=>'r ...
- 在派生类中引发基类事件
1. 在创建基类时,若涉及到事件,事件是特殊类型的委托,只可以从声明它们的类中调用,派生类无法直接调用基类中声明的事件,但是在多数情况,会需要允许派生类调用基类事件,这时,可以再包含该事件的基类中创 ...
- C++对象内存布局--③测试多继承中派生类的虚函数在哪一张虚函数表中
C++对象内存布局--③测试多继承中派生类的虚函数在哪一张虚函数表中 测试2:证明派生类的虚函数的地址跟第一基类的虚函数地址保存在同一张虚函数表中. 派生类有多少个拥有虚函数的基类,派生类对象就有多少 ...
- C++ 在派生类中使用using声明改变基类成员的可访问性
通过在类的内部使用using声明语句 , 我们可以将该类的直接或间接基类中的任何可访问成员标记出来 (只限于非私有成员) .using声明语句中名字的访问权限由该using声明语句之前的访问说明符来决 ...
- 基类成员的public访问权限在派生类中变为_第17篇:C++继承中虚表的内存布局
我们已经表明,非虚类的对象实例不包含虚指针,编译器在编译阶段也没有为非虚类没有构建虚表.而本篇我们会从简单的单继承链分析虚类中虚表构造过程和内存布局.这一切假定你有如下基础 对gdb调试器使用有一个比 ...
- 基类与派生类中同名成员的关系
派生类中有与基类同名的成员,则优先使用派生类成员,要使用基类成员则要用classname::var(同名隐藏) 从不同基类中继承了同名成员,但派生类没有同名成员,使用则用域名限制 ◇型继承,派生类中有 ...
最新文章
- 《网络攻防实践》第二周作业
- CentOS 6.x安装配置MongoDB 3.4.x
- 目前中关村在线上面的CPU排行情况
- 最近总是淡淡的····
- 发际线不符合有经验形象,程序员面试遭拒绝,网友:只招秃子?
- nginx Alphabetical index of variables
- Google X 新项目,用计算机视觉养鱼?
- 如何使用Apple Watch控制Apple TV
- Java多线程编程之Active Object模式
- 基于 python 的主成分分析步骤及应用实例
- 网络安全——计算机网络拓扑图
- 2018 蓝桥杯省赛 B 组模拟赛(一)青出于蓝胜于蓝
- Error: Delta RPMs disabled because /usr/bin/applyd
- 安卓开发-接收系统广播
- 常见五轴机床的机械结构形式讲解!
- 2022 IDEA全家桶使用最新主题(免申请)
- 单片机触发器或非门工作原理以及用途
- 关于7Z自解压文件拆分,读取条目,复写,合并的功能
- 新浪微博和腾讯微博图标
- 再见,戴威!再见,小黄车!