C++中的结构可以在里面有函数吗?

H G*_*Sur 0 c++ oop struct class

在读书时,我遇到了以下几点:

C++中的结构和类之间的语法差异很小,因此,它们可以互换使用并进行微小的修改.结构和类之间的唯一区别是,默认情况下,类的成员是私有的,而默认情况下,结构的成员是公共的.

但是,我的老师告诉我,我们不能在结构内部有功能.我读过的这本书非常受欢迎,我认为写在上面的书是正确的.是否可以在结构内部使用函数?如果是,请留下示例或参考链接.

Dev*_*lar 5

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.