关于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不可用于模板参数

扫描二维码关注公众号,回复: 5348000 查看本文章

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

猜你喜欢

转载自blog.csdn.net/jianpan_zouni/article/details/87968125