T),这使得许多人对struct和class的区别倍感困惑。
其实,就C++语言本身来讲,struct和class除了“默认的成员访问权限”之外,没有什么区别。
在C++中,如没有什么特别说明,struct成员的默认访问指定符为public,而class的则为private。因此,只要你明确地声明每个成员的访问权限,完全可以用struct代替class,也可用class代替struct.wg。例如:
struct A{
pubic:
const char *GetName() const;
private:
 char *name;
int height;
int weight;
} ;
class B{
pubic:
const char *GetName() const;
private:
 char *name;
int height;
 int weight;
} ;
选择使用关键字struct还是class来定义UDA(用户自定义数据类型,User Definde Type)或ADT完全是一种观念上的差异,而关键字本身并没有代表这种差异。
我认为,当语言支持某种牲时,是否使用这种特征完全取决于程序员。因此,并不是说class支持成员函数的定义,我们非得要在每个类中定义函数;也并不是说strcuc过去不支持成员函数的定义,我们就一定要用class代替struct。
以上,只是发表个人的浅解,有什么错误,请指正。