cpp-strcut和class的区别

02 strcut和class的区别

在 c++中,封装的语法是:class 类的名称 {访问权限: 属性 / 行为};。当然,也可以struct 类的名称 {访问权限: 属性 / 行为};

strcutclass的唯一区别就是:默认访问权限不同

  • strcut:默认权限为公共权限,即:public
  • class:默认权限为私有权限,即:private

另外插一嘴,strcut是结构体的定义关键字。忘记可以翻笔记看看。

#include <iostream>
using namespace std;
class c1
{
    int a = 10;  // 默认权限私有
};
struct c2
{
    int a = 20;  // 默认权限公共
};
int main()
{
    //实例化
    class c1 c1;
    struct c2 c2;
    //cout << c1.a << endl;  //无法访问
    cout << c2.a << endl;
    system("pause");
    return 0;
}

不过我认为还是以后用类比较好。也就是class,因为class关键字很好记,但其实struct也挺好记的。

不管是class还是struct都可以设置权限。比如这样:

class Student
{
private:
  string m_name;
  int m_age;
  int m_scores;
public:
  void setname(string name)
  {
    m_name = name;
  }
  void setage(int age)
  {
    m_age = age;
  }
  void setscores(int scores)
  {
    m_scores = scores;
  }
  string getname()
  {
    return m_name;
  }
  int getage()
  {
    return m_age;
  }
  int getscores()
  {
    return m_scores;
  }
}
void main()
{
  class Student s1;
}

当然这是下一节的内容。这样可以控制读写权限。比如上面的例子中。如果想要获取对象s1age的话,只能通过s1.getage()函数调用。

文章「cpp-strcut和class的区别」,由本站用户「Admin」发布。文章仅代表Admin观点,不代表本站立场。
页面网页地址「https://xiaozhiyuqwq.top/p/850」。
如您对文章及其附件提出版权主张,或进行引用转载等,请查看我们的【版权声明】
无评论:-)

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇