美文网首页
结构体运算符重载

结构体运算符重载

作者: 被使用了吧 | 来源:发表于2019-06-04 17:23 被阅读0次

C++中,结构体是无法进行==,>,<,>=,<=,!=操作的,如要使用这些操作符对结构体进行操作,则要在结构体内部对这些运算符进行重载,将结构体的比较转化为结构体内部的数字或者字符的比较。

例题:王道机试指南

例题

结构体定义:

struct Student

{

char name[MAX];

int age;

int grades;

//运算符重载--引用

bool operator < (const Student &b) const {

if (grades != b.grades) return grades < b.grades;

else

{

if (strcmp(name, b.name) != 0)

return strcmp(name, b.name) < 0;

else

return age < b.age;

}

}

}  student[1001];

解题函数:

void WD2_2() {

int Count = 0;

//cin >> Count;

while (cin >> Count)

{

for (int  i = 0; i < Count; i++)

{

cin >> student[i].name;

cin >> student[i].age;

cin >> student[i].grades;

}

/*sort(student, student + Count, cmp);*/

sort(student, student + Count);

for (int i = 0; i < Count; i++)

{

cout << student[i].name << " " << student[i].age << " " << student[i].grades << endl;

}

return;

}

}

相关文章

  • 如何为类和结构体自定义运算符实现

    运算符重载 类和结构体可以为现有的运算符提供自定义的实现,称为运算符重载。 一元运算符重载 类与结构体也能提供标准...

  • 为类和结构体自定义运算符实现

    运算符重载 类和结构体可以为现有的运算符提供自定义的视线,称为运算符重载 一元运算符重载 类与结构体也能提供标准一...

  • 运算符重载和自定义

    一重载 类和结构体可以为现有的运算符提供自定义的实现。 注意:这个重载运算符属于类和结构体,所以是static的 ...

  • swift重载或自定义操作符

    重载运算符 在Swift中,类和结构体是可以提供现有运算符的自定义实现,也就是重载现有运算符。三元运算符(a?b:...

  • Swift重载运算符

    [TOC] Swift重载运算符 运算符重载允许你改变现在的作用在特定在的结构体和类上的已经存在的操作符的工作方式...

  • 结构体运算符重载

    C++中,结构体是无法进行==,>,<,>=,<=,!=操作的,如要使用这些操作符对结构体进行操作,则要在结构体内...

  • 2017.9.22

    今天上课主要讲了运算符重载。运算符重载格式:类型名operator运算符(形参表){函数体}operator运算符...

  • 9月22日C++学习总结

    1.运算符重载:运算符重载的格式为:类型名 operator 运算符(形参表){函数体},operator是关键字...

  • 运算符重载及其他约定

    7.1 重载算术运算符 重载二元算术运算符 重载复合赋值运算符 重载一元运算符 重载比较运算符 等号运算符:‘eq...

  • C++ 部分运算符重载

    可重载的运算符 不可重载的运算符和符号 重载运算符为类的成员函数 重载运算符为友元函数 重载赋值运算符 重载流插入...

网友评论

      本文标题:结构体运算符重载

      本文链接:https://www.haomeiwen.com/subject/brglxctx.html