⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 多重继承.cpp

📁 经典 C++代码
💻 CPP
字号:
#include <stdio.h>

class Parent
{
private:
	int private1,private2;
public:
	Parent(int p1,int p2)
	{
	   private1=p1;
	   private2=p2;
	}

	int inc1(){return ++private1;}

    int inc2(){return ++private2;}

	void display()
	{
	   printf("\nprivate1 = %d private2 = %d",private1,private2);
	}
};

class Derived1:private Parent
{
private:
	int private3;
public:
	Derived1(int p1,int p2,int p3)
		:Parent(p1,p2)
	{
	    private3=p3;
	}

	int inc1()
	{
		return Parent::inc1();
	}

	int inc3()
	{
	    return ++private3;
	}
	void display()
	{
		Parent::display();
		printf("\nprivate3 = %d",private3);
	}
};

class Derived2:public Parent
{
private:
	int private4;
public:
	Derived2(int p1,int p2,int p4)
		:Parent(p1,p2)
	{
	    private4=p4;
	}
	
	int inc1()
	{
		Parent::inc1();
		Parent::inc2();
		return Parent::inc1();
	}

	int inc4()
	{
	    return ++private4;
	}

	void display()
	{
		Parent::display();
		printf("\nprivate4 = %d", private4);
	}
};

class Derived12:private Derived1,public Derived2
{
private:
	int private12;
public:
	Derived12(int p11,int p12,int p13,
		int p21,int p22,int p23,int p)
		:Derived1(p11,p12,p13),
		Derived2(p21,p22,p23)
	{
	     private12 = p;
	}

	int inc1()
	{
		return Derived2::inc1();
	}

	int inc5()
	{
	    return ++private12;
	}

	void display()
	{
	    printf("\nDerived1::display()");
		Derived1::display();
		printf("\nDerived2::display()");
		Derived2::display();
		printf("\nprivate12 = %d",private12);
	}
};

int main()
{
    Derived12 d(10,20,30,40,50,60,70);

	d.display();
	printf("\n\n");
	d.inc4();
	d.Derived2::inc1();
	d.display();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -