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;
};

 

posted on 2022-11-21 16:34  新西兰程序员  阅读(46)  评论(0编辑  收藏  举报