C++编程题,真的不会做,希望大佬们帮忙看一下,谢谢

如题所述

#include <string>
#include <stdio.h>
class Array
{
public:
 /*构造函数
 */
 Array(int b[], int length)
 {
  m_array = new int[length];
  ::memcpy(m_array, b, sizeof(int) * length);
  m_length = length;
 }
 /**复制构造函数
 */
 Array(const Array& arr)
 {
  m_array = new int[arr.m_length];
  ::memcpy(m_array, arr.m_array, sizeof(int) * arr.m_length);
  m_length = arr.m_length;
 }
 /**析构函数
 */
 ~Array()
 {
  delete[] m_array;
 }
 /**降序排序,选择排序
 */
 void sort()
 {
  for (int i = 1; i < m_length; i++)
  {
   for (int j = i; j < m_length; j++)
   {
    if (m_array[i - 1] < m_array[j])
    {
     int temp = m_array[i - 1];
     m_array[i - 1] = m_array[j];
     m_array[j] = temp;
    }
   }
  }
 }
 /**打印
 */
 void print()
 {
  for (int i = 0; i < m_length; i++)
   printf("%d ", m_array[i]);
  printf("\n");
 }
 
private:
 int *m_array;
 int m_length;
};
int main()
{
 int a[10] = { 7, 6, 8, 3, 4, 5, 9, 0, 1, 2 };
 Array test(a, 10);
 test.print();
 test.sort();
 test.print();
 return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-15
看不清
第2个回答  2017-03-15
哪里不会?这么长的题,都不会?
相似回答