合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
在大多数面向对象的编程语言中,类即为包含一系列函数的用户自定义类型。正如我们看到的这样,C++中的结构体就符合这样的定义。 但C++中有另外的结构也符合这一定义;说起来有点令人迷惑,这一结构就是类(class)。 在C++中,类就是变量默认为私有的结构体。举例来说,我可以把“纸牌”结构体定义改成这样。 ~~~ class Card { int suit, rank; public: Card (); Card (int s, int r); int getRank () const { return rank; } int getSuit () const { return suit; } int setRank (int r) { rank = r; } int setSuit (int s) { suit = s; } }; ~~~ 我把struct改为class并去掉了private:这样的标号。除了这两处,两个定义完全一致。 事实上,任何可以写成struct的都可以写成class,只是添加删除标号而已。除了风格方面的原因,不必在二者之中进行过分取舍,不过大多数C++程序员使用class。 另外,通常把所有C++中自定义类型叫做“类(class)”,无论他们是被定义为struct或class。