C++ 学习之旅(9)——类Class与结构Struct
類的出現(xiàn)就是把同一類事物的變量和函數(shù)組織在一起,讓我們可以更方便地對(duì)多個(gè)相關(guān)聯(lián)的變量進(jìn)行操作。類是C++獨(dú)有的,而結(jié)構(gòu)則是從C拿過來的,它們之間只有三個(gè)區(qū)別:
(1)class 中默認(rèn)的成員訪問權(quán)限是 private 的,而 struct 中則是 public 的。
(2)從 class 繼承默認(rèn)是 private 繼承,而從 struct 繼承默認(rèn)是 public 繼承。
(3)class 可以定義模板,而 struct 不可以。
對(duì)于類訪問修飾符public、protected和private,參考菜鳥教程。
例如定義一個(gè)球員類Player,我給他位置x和y,還有速度值speed,方法(函數(shù))Move用于移動(dòng)他:
#include <iostream>class Player { public:int x, y, speed;void Move(int x_d, int y_d){x += x_d;y += y_d;} };int main() {Player player1;player1.x = 5;player1.y = 10;player1.speed = 20;player1.Move(1, 1);std::cout << player1.x << " " << player1.y << std::endl;std::cin.get(); }由于class默認(rèn)是private的,如果不加public就會(huì)報(bào)錯(cuò)。struct則默認(rèn)是public的:
struct Vector2D {int x, y; };一般來說,當(dāng)我們專注于數(shù)據(jù)的結(jié)構(gòu)化存儲(chǔ),如向量、復(fù)數(shù)之類的,我們會(huì)用struct;而當(dāng)我們要操作的對(duì)象是比較抽象的如球員、動(dòng)物、水果之類的,我們會(huì)用class。
總結(jié)
以上是生活随笔為你收集整理的C++ 学习之旅(9)——类Class与结构Struct的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 奥特曼为重返OpenAI做让步,没加入董
- 下一篇: C++ 学习之旅(10)——static