结构体与类的异同点

 

目录

 

结构体与类的相同点

结构体与类的不同点

代码示例

结构体与类的优缺点


结构体与类的异同点

结构体与类的相同点

结构体可以继承,封装。

结构体与类的不同点

结构体中的成员函数必须返回数值;

结构体中的成员函数必须有参数,而且这个参数可以重外部传入;

代码示例

#include <iostream>  
#include <string>  
using namespace std;  
  
struct Cperson  
{  
    float mark;  
    string name;  
    Cperson(float Smark, string Sname)  
    {  
        mark = Smark;  
        name = Sname;  
    }  
};  
struct  Cstudent :public Cperson  
{  
    int Order;  
    Cstudent(int Sorder, float Smark, string Sname) :Cperson(Smark, Sname) {  
        Order = Sorder;  
    }  
    int ShowInf(int Sorder) // 参数Sorder是从外界传入的参数  
    {  
        cout << Sorder << endl;  
        cout << name << endl;  
        return 0;  
    }  
};  
  
int main()  
{  
    Cstudent stud(1, 99.99, "超级无敌霸霸强");  
    stud.ShowInf(1);  
}

​​​​​​​  

结构体与类的优缺点

结构体实质上偏向于数值的自定义数据类型,当我们需要大量的存储数据,用结构体自定义数据类型再合适不过了,而且用结构体进行自定义数据类型的定义时,无论是在对象的创建还是值传递方面都略胜类一筹(前提是:结构体内部的基本数据类型全是或大都是数值类型);

相比之下类是个混血儿,它在数值和字符串之间保持中立,因此当复制或赋值的时候,速度要比结构体的数值传递要慢一些,效率要低一些。

总结:

情况

更快速的自定义数据类型

自定义数据类型中全为数据类型

结构体

自定义数据类型中大多数为数据类型

结构体

自定义数据类型中包含大量字符串类型

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥肥胖胖是太阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值