zoukankan      html  css  js  c++  java
  • 虚基类的值由最远派生类赋值

    #include<iostream>
    using namespace std ;
    class Base
    { 
    	int basee ;
    public:
    	Base(int base)
    	{
    		cout<<"Initializing Base..."<<endl;
    		this->basee = base ; 
    	}
    	void show()
    	{
    		cout<<basee<<endl;
    	}
    };
    class Base1 : virtual public Base
    {
    	int base11 ;
    public:
    	Base1(int base1 ,int base1base ):Base(base1base)
    	{
    		this->base11 = base1 ;
    		cout<<"Initializing Base1..."<<endl;
    	} 
    };
    class Base2:virtual public Base
    {
    	int base22 ;
    public:
    	Base2(int base2, int base2base):Base(base2base)
    	{
    		this->base22 = base2 ;
    		cout<<"Initializing Base2...."<<endl;
    	}
    };
    class Derived : public Base1, public Base2
    {
    	int derived ;
    public:
    	Derived(int derivied , int derivedbase , int base1 , int base1base ,  int base2 , int base2base ) : Base(derivedbase),Base1(base1,base1base),Base2(base2,base2base)
    	{
    		cout<<"Initializing Derived..."<<endl;
    		this->derived = derivied;
    	}
    };
    int main()
    {
    	int derivied = 1 ;
    	int derivedbase = 2 ;
    	int base1 = 3 ;
    	int base1base = 4 ;
    	int base2 = 5 ;
    	int base2base = 6 ;
    	Derived d(derivied , derivedbase,base1,base1base,base2,base2base);
       d.show();
    	return 0 ;
    }
    

      

    输出为 derivedbase=2

  • 相关阅读:
    用SecureCRT来上传和下载文件
    Linux指令--tar,gzip
    Linux指令--文件和目录属性
    Linux指令--which,whereis,locate,find
    Linux指令--head,tail
    Linux指令--more,less
    Linux指令--nl
    Linux指令--cat,tac
    Linux指令--touch
    Linux指令--cp
  • 原文地址:https://www.cnblogs.com/dot-dot-123/p/3631132.html
Copyright © 2011-2022 走看看