m*******o 发帖数: 264 | 1 我写的这个代码是为了将类对象和对象里的数组进行双重排序,但不知道为什么对象不
能成功排序:
#include
using namespace std;
class c_array {
friend int sum(c_array &a);
public:
c_array(int s): size(s) { a = new int[size]; }
int& operator[](int i);
int get_size() { return size; }
bool operator < (c_array& x);
//private:
int size;
int *a;
};
int sum(c_array& a){
int result = 0;
int size = a.get_size();
for ( int i = 0; i < size; i++ )
result += a[i];
return result;
}
bool |
t****t 发帖数: 6806 | 2 how did you sort *c_array[] ? from my understanding, your sort() only sort
the array inside c_array.
【在 m*******o 的大作中提到】 : 我写的这个代码是为了将类对象和对象里的数组进行双重排序,但不知道为什么对象不 : 能成功排序: : #include : using namespace std; : class c_array { : friend int sum(c_array &a); : public: : c_array(int s): size(s) { a = new int[size]; } : int& operator[](int i); : int get_size() { return size; }
|
m*******o 发帖数: 264 | 3 我重载了<运算符啊,所以类对象也应该可以进行比较啊
if ( *A[1] < *A[2] ) //test the operator whether works for
the object
cout << "yes" <
else
cout << "no" << endl;
上面这段代码就说明<成功重载了啊 |
t****t 发帖数: 6806 | 4 but did you call it?
【在 m*******o 的大作中提到】 : 我重载了<运算符啊,所以类对象也应该可以进行比较啊 : if ( *A[1] < *A[2] ) //test the operator whether works for : the object : cout << "yes" <: else : cout << "no" << endl; : 上面这段代码就说明<成功重载了啊
|
m*******o 发帖数: 264 | 5 YEAH:
sort((**A), 3); //sort the object array, but failed??? |
t****t 发帖数: 6806 | 6 我都已经提示到这个份上了,你还不明白,那我也没办法
your sort only sort the array inside object.
【在 m*******o 的大作中提到】 : YEAH: : sort((**A), 3); //sort the object array, but failed???
|