2.2.2
c++中struct 与 class 的区别 :
如果没有表明成员函数或者成员变量的访问权限级别,那么在struct中默认的是public,在class中默认的是private。
衍生知识:
三种访问控制权限
访问权限 public protected private 对本类 可见 可见 可见 对子类 可见 可见 不可见 对外部(调用方) 可见 不可见 不可见 三种继承方式
public、protected、private三种继承方式,相当于把父类的public访问权限在子类中变成了对应的权限。 如protected继承,把父类中的public成员在本类中变成了protected的访问控制权限;private继承,把父类的public成员和protected成员在本类中变成了private访问控制权。
友元函数
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字 friend。友元函数不具有传递性
C#中struct与class的区别
C#如果没有表明成员函数或者成员变量的访问权限级别,那么在struct,class中默认的是都是private。两者的区别在于struct定义的是值类型,class是引用类型
衍生知识
部分摘自:https://blog.csdn.net/luoweifu/article/details/46953343