zoukankan      html  css  js  c++  java
  • C++结构体、类和对象

      在C++中结构体(struct)和类(class)可以通用,[结构体是一种特殊的类]

      struct和class的区别:访问和控制。

       struct在缺省值的情况下可以是public在外部被访问到对于类来说缺省情况下的成员函数,所有的数据成员都是私有的,不能够被外部访问的。

       {public:private:protected:}这三个控制访问标识符控制一个类内部的数据成员和它的成员函数对外的可见性是否在哪种情况下被访问(通过这三个标识符控制)

      家作为类:  public:它所有的成员都可以在外部被访问。

      (class)    (客厅)

             private:私有部分(客人不能进去访问)。

             (卧室)

             protected:子类和父类之间访问控制。

      **在定义结构体和类时一定要在{}后面加分号

      类是抽象的概念,用于创建对象,对象是类的实例,是客观世界真实存在的实体。

      类和对象的区别:类是抽象事物的共有的属性;

              对象是具有一个具值属性值的事物;

      类的实例和类的对象的区别:

        类的实例等同于一个对象(实例化一个对象)

        (产生了类的一个对象)

        面向过程到面向对象的转变:

        成员函数:结构体中的函数。

      结构体:

      #include <iostream>

      struct Student     //定义结构体

      {

        char *name;    //结构体包含的成员变量

        int age;    //结构体包含的成员变量

        float score;   //结构体包含的成员变量

      };

      void display(struct Student stu)     //显示结构体的成员变量

      {

        printf("%s的年龄是%d,成绩是%f ",stu.name,stu.age,stu.score);

      }

      int main()

      {

        struct Student stu1;

        //为结构体的变量赋值

        stu1.name = "小明";

        stu1.age = 15;

        stu1.score = 92.5;

        display(stu1);//调用函数

        return 0;

      }

        结果:小明年龄是15,成绩是92.500000

      类:

      #include <iostream>

      class Student     //通过class关键字定义类

      {

        public:     //类包含的变量

          char *name;

          int age;

          float score;

        void say()    //类包含的函数

        {

          printf("%s的年龄是%d,成绩是%f ",name,age,score);

        }

      };

      int main()

      {

        //通过类来定义变量,即创建对象

        class Student stu1;    //也可以省略关键字class

        stu1.name = "小明";   //为来的变量赋值

        stu1.age = 15;      //为类的变量赋值

        stu1.score = 92.5f;   //为类的变量赋值

        stu1.say();   //调用成员函数

        return 0;

       }

      

  • 相关阅读:
    [洛谷P2742]【模板】二维凸包([USACO5.1]圈奶牛Fencing the Cows)
    [洛谷P4781]【模板】拉格朗日插值
    [洛谷P4550]收集邮票
    [洛谷P4900]食堂
    [洛谷P2057][SHOI2007]善意的投票
    [CF1083C]Max Mex
    bzoj3110: [Zjoi2013]K大数查询 【树套树,标记永久化】
    bzoj 1207: [HNOI2004]打鼹鼠 (dp)
    bzoj 1037: [ZJOI2008]生日聚会Party (dp)
    bzoj 2140: 稳定婚姻 (二分图)
  • 原文地址:https://www.cnblogs.com/wjq13752525588/p/11452817.html
Copyright © 2011-2022 走看看