struct和class之间的唯一区别在于默认保护的方式不同,默认保护会应用于第一个保护标签之前的所有成员。
如果我们使用的是class Student_info,那么第一个 { 和第一个保护标签之间的所有成员都是私有的。
如果我们写的是struct Student_info,那么第一个 { 和第一个保护标签之间的所有成员就都是公有的。
比如:
class Student_info{
public:
double grade() const;
};
//等价于
struct Student_info{
double grade() const;
};
class Student_info{
std::string name;
public:
double grade() const;
};
//等价于
struct Student_info{
private:
std::string name;
public:
double grade() const;
};
当然这只是最直观的区别,struct和class还有着更加深层次的区别,但c++的程序一般都使用class。深层次的区别今后再补充。