关于struct和class

首先明确c中的struct其实主要适用于数据结构的,和c++中的struct是区别很大的,不能有成员变量,不能有成员函数

c++中的struct有啥功能:

struct能包含成员函数吗? 能!
struct能继承吗? 能!!
struct能实现多态吗? 能!!!

c++中的struct和class是很相似的,主要区别:


1.struct默认的访问权限是public,默认继承权限是public

   class默认的访问权限是private,默认继承权限是private

struct可以继承class,同样class也可以继承struct,那么默认的继承访问权限是看子类到底是用的struct还是class。如下:

struct A{};class B : A{}; //private继承
struct C : B{}; //public继承

struct作为数据结构的实现体,它默认的数据访问控制是public的,而class作为对象的实现体,它默认的成员变量访问控制是private的


2.都可以有成员变量和成员函数


3.struct不可用于模板参数

大都是情况下用struct替换class都能正常运行,c++的struct更多考虑的是兼容c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值