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

📄 第三次上机.cpp

📁 -调用基类myarray创建数组 调用派生类averarray求平均数 调用派生类revarray求反序数组
💻 CPP
字号:
#include<iostream.h>

class myarray {

 protected:
	 int array[10];
	 int length;
 public:
	  myarray()
	  {}
	  myarray(int len)
	  {
           length=len;
		   cout<<"调用构造函数myarray"<<endl;
	  }
	  ~myarray()
	  {
        cout<<"调用析构函数myarray"<<endl;
	  }

	  void input()
	  {  cout<<"输入各个整数:"<<endl;
		  int i;
		  for(i=0;i<length;)
		  {
           cout<<"输入第"<<i<<" 个数为: ";
		   cin>>array[i++];
		   cout<<endl;
		  }
	  }
	  void display()
	  {    int i;
	     cout<<"显示数组中 "<<length<<" 个整数信息:"<<endl;
           for(i=0;i<length;i++)
		   {
		     cout<<array[i]<<"    ";
		   }
		   cout<<endl;
	  }
} ;



class averarray: virtual public myarray{
     private:
	       int b;
           float aver;
	 public:
        // float sum=0;
		 averarray(int m):myarray(m)
		 {
			 b=m;
			 cout<<"调用派生类构造函数averarray"<<endl;
		 }
        void average()
		{    
			 int i;
			 float sum=0.0;
			 for(i=0;i<b;i++)
		             sum=sum+array[i];
		     aver=(sum)/b; 
             //cout<<"这些整数的平均数值aver="<<aver<<endl;
		 }
       void show2()
	   { 
		   cout<<"这些整数的平均数值aver="<<aver<<endl;
	   }
  

};
class revarray: virtual public myarray{    
      private: 
            int t,d;
	  public:
		  revarray(int m):myarray(m)
		  { 
			  d=m;
              cout<<"调用派生类构造函数revarray"<<endl;
		  }
		 void rev()
		 {  int t,i;
            for(i=0;i<d/2;i++)
			{
				t=array[i];
				array[i]=array[d-i-1];
                array[d-i-1]=t;
			}
		 }
		 void show()
		 {   int i;
		     cout<<"翻转后的数组顺序为:"<<endl;
			 for(i=0;i<d;i++)
		        cout<<array[i]<<"    ";
			  cout<<endl;
		 }
};
class newarray:  public averarray, public revarray{
	  private:   
           	int g;
	  public :
		  newarray(int m):averarray(m),revarray(m),myarray(m)
		  {  
			  g=m;
              cout<<"调用派生类构造函数newarray"<<endl;
		  }
		void  show1()
		{   cout<<" 显示调用数组的各个整数:"<<endl;
			int i;
			 for(i=0;i<g;i++)
		        cout<<array[i]<<"    ";
			    cout<<endl;
		 }
}; 

void main()
{   //cout<<"-----------------调用基类myarray创建数组-----------------"<<endl;   
    int aa;
	cout<<"输入整数的个数: ";
    cin>>aa;
	cout<<endl;
  

   cout<<"-----------------调用基类myarray创建数组-----------------"<<endl;
         newarray hh(aa);
		 hh.input();
         hh.display();   
   cout<<"-----------------调用派生类averarray求平均数-------------"<<endl;
     hh.average();
	 hh.show2(); 
   cout<<"-----------------调用派生类revarray求反序数组------------"<<endl;
    hh.rev();
	hh.show();
   cout<<"-----------------调用虚基类newarray解决二义性------------"<<endl;
    hh.show1(); 
   
         
}

 

⌨️ 快捷键说明

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