C++-继承名称的掩盖
///////////////////////////////////////////////////////////////////////////////
//
// FileName : effect_item33.h
// Version : 0.10
// Author : Ryan Han
// Date : 2013/07/26 16:50:14
// Comment :
//
///////////////////////////////////////////////////////////////////////////////
#ifndef EFFECT_ITEM33_H
#define EFFECT_ITEM33_H class base{
public:
virtual void mf1() = ;
virtual void mf1(int);
virtual void mf2();
void mf3();
void mf3(double);
private:
int x;
}; class derive : public base {
public:
using base::mf1;
void mf1();
void mf4();
private:
int y;
}; #endif
///////////////////////////////////////////////////////////////////////////////
//
// FileName : effect_item33.cpp
// Version : 0.10
// Author : Ryan Han
// Date : 2013/07/26 16:50:14
// Comment :
//
///////////////////////////////////////////////////////////////////////////////
#include "effect_item33.h" #include <iostream>
using namespace std; void base::
mf1()
{
cout << "base::mf1() was called." << endl;
}
void base::
mf1(int)
{
cout << "base::mf1(int) was called." << endl;
}
void base::
mf2()
{
cout << "base::mf2() was called." << endl;
}
void base::
mf3()
{
cout << "base::mf3() was called." << endl;
}
void base::
mf3(double)
{
cout << "base::mf3(double) was called." << endl;
}
void derive::
mf1()
{
cout << "derive::mf1() was called." << endl;
}
void derive::
mf4()
{
cout << "derive::mf4() was called." << endl;
}
///////////////////////////////////////////////////////////////////////////////
//
// FileName : effect_item33_client.cpp
// Version : 0.10
// Author : Ryan Han
// Date : 2013/07/26 16:50:14
// Comment :
// Output :
// $ ./a
///////////////////////////////////////////////////////////////////////////////
#include "effect_item33.h"
#include <iostream>
using namespace std; int main() {
derive d;
d.mf1();
d.mf1();
return ;
}
继承类中的成员函数将覆盖基类中的同名函数,不论virutal不virtual,和参数是否相同,基类中的函数一律不再可见。
C++-继承名称的掩盖的更多相关文章
- OOP—还原被遮掩的继承名称
1.public继承——using 声明式 class Base { private: int x; public: ; virtual void mf1(int) ; virtual void mf ...
- EffectiveC++ 第6章 继承与面向对象设计
我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter 6 继承与面向对象设计 Inheritance and ...
- C++虚继承的概念(转)
http://blog.csdn.net/wangxingbao4227/article/details/6772579 C++中虚拟继承的概念 为了解决从不同途径继承来的同名的数据成员在内存中有不同 ...
- Java自学-类和对象 继承
什么是 Java的 继承 ? 在LOL中,武器是物品的一种,也是有名称和价格的 所以在设计类的时候,可以让武器继承物品,从而继承名称和价格属性 步骤 1 : 物品类Item 物品类Item 有属性 n ...
- 【52】写了placement new也要写placement delete
1.Widget* pw = new Widget; 调用了两个方法:第一个方法是operator new 负责分配内存:第二个方法是在分配的内存上构造Widget,即调用Widget的default ...
- EC读书笔记系列之19:条款49、50、51、52
条款49 了解new-handler的行为 记住: ★set_new_handler允许客户指定一个函数,在内存分配无法获得满足时被调用 ★Nothrow new是一个颇为局限的工具,∵其只适用于内存 ...
- 《Effective C++》第8章 定制new和delete-读书笔记
章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...
- Effective C++: 08定制new和delete
49:了解new-handler的行为 当operator new无法满足某一内存分配需求时,它会抛出异常(以前会返回一个null).在抛出异常之前,它会调用一个客户指定的错误处理函数,也就是所谓的n ...
- Python2.6-原理之类和oop(下)
来自<python学习手册第四版>第六部分 五.运算符重载(29章) 这部分深入介绍更多的细节并看一些常用的重载方法,虽然不会展示每种可用的运算符重载方法,但是这里给出的代码也足够覆盖py ...
随机推荐
- LA 5135 Mining Your Own Business
求出 bcc 后再……根据大白书上的思路即可. 然后我用的是自定义的 stack 类模板: #include<cstdio> #include<cstring> #includ ...
- JSP中RequestDispatcher的用法
RequestDispatcher是一个Web资源的包装器,可以用来把当前request传递到该资源,或者把新的资源包括到当前响应中.RequestDispatcher接口中定义了两个方法:inclu ...
- datagrid实现单行的选择、取消
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- CI 学习笔记、记录
[ci框架]ci框架目录结构分析 分类: [CodeIgniter深入研究]2013-05-09 00:24 7420人阅读 评论(5) 收藏 举报 [php] view plaincopy mysh ...
- eclipse 下的 merge 是如何实现的
1 我从eclipse里面新建一个workspace2 新建一个分支3 再新建另外一个分支4 回到原分支, 修改某一行,比如a.txt的85行5 提交git add commit6 切换到新分支7 修 ...
- JQuery & Javascript
Jquery 是一个优秀的javascript框架,是轻量级的js库 jQuery简化了javascript 编程 jQuery很容易学习
- 【CodeVS 1014】装箱问题
题目描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩 ...
- Android虚拟机常见错误及解决办法
第一个: [2012-11-09 13:15:14 - Tesa] Android Launch! [2012-11-09 13:15:14 - Tesa] The connection to adb ...
- 【CITE】C#默认以管理员身份运行程序实现代码
//用于一种情况:C#软件打包后,在读写C盘文件时,会出现权限问题.使用管理员身份才可以运行 using System; using System.Collections.Generic; using ...
- Bootstrap标签
Bootstrap是Twitter推出的一个用于前端开发的开源工具包.用外链加载的方式可以将Bootstrap链接进来 常用方式: <link rel="stylesheet" ...