文档章节

虚函数

 阿豪boy
发布于 2017/04/16 16:31
字数 226
阅读 21
收藏 0
#include <iostream>
#include <cstdio>

using namespace std;


void t1(){
	class A{
	public	:
		void f1(){
			cout<<"A--f1\n";
		}
		
		void f1(int a){
			cout<<"A--f1--int\n";
		} 
		void f2(){
			cout<<"A--f2\n";
		}
	};
	
	class B:public A{
	public	:
		void f1(){
			cout<<"B--f1\n"; 
		}
		
		
		/*使用类名访问基类成员函数 
			在成员函数被复写的情况下,基类本来可以继承的其他同名重载函数都会被屏蔽
			而不会继承 
		*/
		void showA(){
			A::f1();
		} 
	};
	
	A a;
	B b;
	a.f1();		
//	b.f1(2);	//报错 
	b.showA(); 
	//通过派生类访问基类成员函数,必须是public 继承 
	b.A::f1();
	b.A::f2();
} 


void t2(){
	class A{
	public:
		void show(){
			cout<<"A\n";
		}
	};
	
	
	class B : public A{
	public :
	void show(){
			cout<<"B\n"; 
		}	
	};
	
	
	A* p = new B();		//只能调用A的成员函数 
	p->show();
	cout<<sizeof(A)<<endl;
} 


void t3(){
	class A{
	public:
		virtual void show(){
			cout<<"A\n";
		}
	};
	
	
	class B : public A{
	public :
	void show(){
			cout<<"B\n"; 
		}	
	};
	
	
	A* p = new B();		//只能调用A的成员函数 
	p->show();
	cout<<sizeof(A)<<endl;
} 
int main(int argc, char *argv[])
{	t2();
	t3();
	return 0;
}

 

© 著作权归作者所有

粉丝 25
博文 1597
码字总数 1110788
作品 0
西安
私信 提问

暂无文章

今日头条技术架构分析,看这篇就对了!

点击上方 "程序员小乐"关注, 星标或置顶一起成长 每天凌晨00点00分, 第一时间与你相约 每日英文 Anywhere, it is a good in the past, recall the number of times many, all would be ligh......

吧主
1分钟前
9
0
影响K8S Pod分配和调度策略的两大关键特性

在Kubernetes中有一个最复杂的调度器可以处理pod的分配策略。基于在pod规范中所提及的资源需求,Kubernetes调度器会自动选择最合适的节点来运行pod。 但在许多实际场景下,我们必须干预调度过...

RancherLabs
4分钟前
25
0
Linux笔记

Linux常用命令之chmod修改文件权限777和754 示例:chmod 777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行)。...

owenzhang24
8分钟前
11
0
教你如何在CentOS7系统上安装postgreSQL11

本文教你如何在CentOS7系统上安装postgreSQL11。 1.添加PostgreSQL Yum存储库 sudo yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-......

Linux就该这么学
15分钟前
25
0
欧盟将禁止公共场所人脸识别:谷歌支持,微软反对

   来源:新浪、VB   近日,彭博社披露的一份欧盟人工智能“白皮书”草案显示,欧盟计划对人工智能开发者提出具有法律约束力的新要求,以确保现代科技的开发和使用符合道德规范。    ...

水果黄瓜
18分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部