c++ 继承(二)
不能自动继承的成员函数
1、构造函数
2、析构函数
3、=运算符
继承与构造函数
1、基类的构造函数不被继承,派生类中需要声明自己的构造函数
2、声明构造函数时,只需要对本类中新增成员进行初始化,对继承来的基类成员的初始化(调用基类构造函数完成)
3、派生累的构造函数需要给基类的构造函数传递参数
#include <iostream>
using namespace std; class Base
{
public:
Base(int b) : b_(b){
cout<<"Base..."<<endl;
}
~Base(){
cout<<"~Base..."<<endl;
}
int b_;
} class Derived : public Base
{
public:
Derived(int d) : d_(d),Base(){
cout<<"Derived..."<<endl;
}
~Derived(){
cout<<"~Derived..."<<endl;
}
int d_;
} int main(void)
{
Derived d();
cout<<d.b_<<" "<<d.d_<<endl;
return ;
}
注意:
1、基类没有默认构造函数的时候,基类的构造函数要在派生类构造函数初始化列表中调用
类的对象成员没有默认构造函数的时候,只能够在类的构造函数初始化列表中调用该对象的构造函数进行初始化
2、派生类对象的构造次序
先调用基类构造函数、然后是派生类的对象成员的构造函数,最后是派生类自身的构造函数
友元关系不能被继承
A是B的友元类,C是A的派生类,那么C不是B的友元类
友元关系时单向的,同时友元关系是不能被传递的
A是B的友元类,B是C的友元类,那么A不是C的友元类
静态成员无所谓继承
被所有对象所共享

c++ 继承(二)的更多相关文章
- javascript中继承(二)-----借用构造函数继承的个人理解
本人目录如下: 零.寒暄&回顾 一,借用构造函数 二.事件代理 三,call和apply的用法 四.总结 零.寒暄&回顾 上次博客跟大家分享了自己对原型链继承的理解,想看的同学欢迎猛击 ...
- 【C++】浅谈三大特性之一继承(二)
三,继承方式&访问限定符 派生类可以继承基类中除了构造函数和析构函数之外的所有成员,但是这些成员的访问属性是由继承方式决定的. 不同的继承方式下基类成员在派生类中的访问属性: 举例说明: (1 ...
- javascript继承(二)—创建对象的三种模式
一.工厂模式 function createPerson(name,age){ var o = {}; o.name = name; o.age = age; o.sayHi = function() ...
- Java三大特征之继承(二)
在<Think in java>中有这样一句话:复用代码是Java众多引人注目的功能之一.但要想成为极具革命性的语言,仅仅能够复制代码并对加以改变是不够的,它还必须能够做更多的事情.在这句 ...
- 阅读MDN文档之层叠与继承(二)
目录 The cascade Importance Specificity Source order A note on rule mixing Inheritance Controlling inh ...
- C++ 类的继承二(赋值兼容性原则)
//赋值兼容性原则 #include<iostream> using namespace std; class PointA{ public: PointA(){ x = ; y = ; ...
- 关于js的对象原型继承(二)
本章讨论使用new一个构造函数来创建一个对象. 前期知识点说明: 1.prototype是函数的一个属性,每个函数都有一个prototype属性.这个属性是一个指针,指向一个对象.它是显示修改对象的原 ...
- JavaScript中的继承(原型链)
一.原型链 ECMAScript中将原型链作为实现继承的主要方法,基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法. 实例1: function SupType() { this.pro ...
- Angular2入门:TypeScript的类 - 定义、继承和作用域
一.定义和继承 二.public.private和protected
随机推荐
- WDA基础三:简单的INPUT选择,简单的TABLE显示
先从基本的开始,简单的单选和TABLE显示 1.创建选择条件节点,CONTEXT页签,右键CONTEXT创建NODE,对应1:1 1:1 lead selection 2.创建结果节点,对应0:n ...
- JBOSS禁用delete和put方法教程
一.背景说明(与此节修复没多大关系可跳过) 今天应用报扫描出“启用不安全的HTTP方法”漏洞需要进行修复,看后边还有IIS的修复建议:一边不满怎么用IIS一边研究了具体操作半天,由于IIS不同版本操作 ...
- 微信小程序 HMACSHA256 哈希加密
下载CryptoJS, 增加红色的这句 module.exports = CryptoJS /* CryptoJS code.google.com/p/crypto-js (c) 2009-2012 ...
- Best Paper Awards in Computer Science 链接
http://jeffhuang.com/best_paper_awards.html#icml
- mac ci框架安装使用 memcached存session
mac 安装memcached brew info memcached brew install memcached brew install memcached 安装过程具体不详细多讲 memcac ...
- laravel中使一段文字,限制长度,并且超出部分使用指定内容代替
{{str_limit($post->content,100,'....')}} 文字内容超出100个字,就用省略号显示
- 1-3Controller之Response
控制器中的方法: public function response1(){ /*响应的常见类型: * 1.字符串 * 2.视图 * 3.json * 4.重定向 * */ //响应JSON /*$da ...
- js 敏感词过滤
<!doctype html> <html> <head> <meta charset="utf-8"> <meta name ...
- 生成器 Generators
function* quips(name) { yield "你好 " + name + "!"; yield "希望你能喜欢这篇介绍ES6的译文&q ...
- relativeURL 相对URL的坑
我正在尝试实现一个使用RestKit的iOS应用程序.在我迄今为止看到的所有示例中,以下代码用于创建URL: NSURL *baseURL = [NSURL URLWithString:@" ...