C++中的Struct和Class异同
C++中为了和语言兼容,保留了C语言中的struct关键字,并且进行了适当扩充.
C语言 => struct只是包含成员变量,但不包括成员函数
C++中 => struct和class非常类似,既可以包括成员变量,又可以包括成员函数
也就是说C++中,struct和class基本上是可以通用的,只有几个小细节的不同,主要包括以下几方面:
1. 使用class时,类中的成员默认都是private属性;而使用struct时,结构体中的成员默认都是public属性
2. class继承默认是private继承. 而struct继承则默认是public继承
3. class可以用在模板参数中,但是struct不可以
template <class T> -- 可以 template <typename T> --可以 template <struct T> --不可以 struct Staff { public: T name; };