zoukankan      html  css  js  c++  java
  • 类与对象解剖(虚函数)

    #include <iostream>
    using namespace std;
    
    class ClassA
    {
    public:
    	int m_data1;
    	int m_data2;
    	
    	void func1(){}
    	void func2(){}
    
    	virtual void vfunc1(){}
    	virtual void vfunc2(){}
    };
    
    
    class ClassB : public ClassA
    {
    public:
    	int m_data3;
    
    	void func2(){}
    
    	virtual void vfunc1(){}
    };
    
    class ClassC : public ClassB
    {
    public:
    	int m_data1;
    	int m_data4;
    
    	void func2(){}
    
    	virtual void vfunc1(){}
    };
    
    
    void main()
    {
    	cout<<sizeof(ClassA)<<endl;
    	cout<<sizeof(ClassB)<<endl;
    	cout<<sizeof(ClassC)<<endl<<endl;
    
    	ClassA a;
    	ClassB b;
    	ClassC c;
    
    	b.m_data1 = 1;
    	b.m_data2 = 2;
    	b.m_data3 = 3;
    
    	c.m_data1 = 11;
    	c.m_data2 = 22;
    	c.m_data3 = 33;
    	c.m_data4 = 44;
    	c.ClassA::m_data1 = 111;
    
    	cout<<b.m_data1<<endl;
    	cout<<b.m_data2<<endl;
    	cout<<b.m_data3<<endl<<endl;
    
    	cout<<c.m_data1<<endl;
    	cout<<c.m_data2<<endl;
    	cout<<c.m_data3<<endl;
    	cout<<c.m_data4<<endl;
    	cout<<c.ClassA::m_data1<<endl<<endl;
    
    	cout<<&b<<endl;
    	cout<<&b.m_data1<<endl;
    	cout<<&b.m_data2<<endl;
    	cout<<&b.m_data3<<endl<<endl;
    
    	cout<<&c<<endl;
    	cout<<&c.ClassA::m_data1<<endl;
    	cout<<&c.m_data1<<endl;
    	cout<<&c.m_data2<<endl;
    	cout<<&c.m_data3<<endl;
    	cout<<&c.m_data4<<endl<<endl;
    }
    
  • 相关阅读:
    llvm,gcc
    smp,numa,mpp,umam,olap,dss,oltp,greenplum,presto
    数据结构学习时的零散算法
    Hadoop 伪分布式上安装 HBase
    可以ping通虚拟机但不能telnet 9000端口
    北邮连接bupt-mobile
    北邮软院机试2018
    研究生面试自我介绍
    Java面试题
    操作系统面试题
  • 原文地址:https://www.cnblogs.com/steady/p/1924934.html
Copyright © 2011-2022 走看看