AC struct不能具有成员功能.(它可以有函数指针,但这不是一回事.)
C++ 在各方面struct都相当于a class,但其成员的默认可见性,如您的书(publicfor struct,privatefor class)所述,以及它的默认继承.
class MyClass : public BaseClass
{
public:
MyClass();
virtual ~MyClass();
void someFunction();
private:
int member_;
};
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,它明确地显示状态可见性(public,private)而不是依赖于默认值(为了清楚起见,我赞同这种做法),class可以交换关键字struct而不改变任何意义或结果.
有一些理解struct对于普通数据集合class是首选,而对于具有非平凡功能的完全成熟的类来说是首选,但就目前而言.
也许你的老师在谈论C struct s.