• c++类的基础


    1、抽象:

    抽象出公有特性,包括公有动作,公有数据。

    2、类:类是具有相同属性和行为的一组对象的集合(变量和函数)

    声明格式:

    class 类名(Dog)

    {

    类体:(数据和函数成员)默认为私有成员,结构体默认为公有成员

    }

    3、类成员的访问权限:public ,private,protected

    3.1函数成员的实现:

    主要有两类:1、在直接申明函数成员时实现

          2、在类的外部实现(内联inline 函数和普通函数)

    #include<iostream>
    using namespace std;

    class Dog
    {
      private:
      int age;
      public:
      int func(int a);
      int func2(int c);
      int func1(int b)//类内部实现的函数成员
      {
      return age = b;
      }
    };
    inline int Dog::func(int a)//外部实现的内联函数
    {
      return age = a;
    }

    int Dog::func2(int c)//外部实现的普通函数
    {
      while(c<5)
      {
        c++;
      }
    return c;
    }
    int main()
    {
      Dog d1;
      int k = d1.func(3);
      int j = d1.func1(4);
      int q = d1.func2(0);
      cout<<"k= "<<k<<" ";
      cout<<"j= "<<j<<" ";
      cout<<"q= "<<q<<" ";

    }

    结果:

    k= 3
    j= 4

    q=5

    -------------------------------------------------------------------

    4、对象:对象就是变量,是类的实例化---->用一个类描述一个对象(属性和动作(数据和函数))

    类型  变量名

    class Dog d1;或者去掉类的关键字 Dog d1;

    4.1类成员的访问:

    私有成员只能在类的私有函数成员内访问,(这里并没有规定是哪种权限的成员),类的对象不能再类的外部访问私有成员;

    保护成员只能在类的私有函数成员内访问,(这里并没有规定是哪种权限的成员),类的对象不能再类的外部访问私有成员;

    公有成员能在类的私有函数成员内访问,类的对象也能在类的外部访问私有成员。

    与struct的区别:struct没有函数成员,并且全为公有权限;

    类中的数据成员尽量初始化为私有成员(通过公有函数来来访问)

    4.2数据成员的初始化:

    通过类内的公有函数来进行初始化:如下例:

    #include<iostream>
    class Rec
    {
    private:
        int longs;
        int height;
    public:
        int area(int a,int b)
        {
            longs = a;
            height = b;
            return longs*height;
        }
    
    };
    using namespace std;
    int main()
    {
    Rec rec1;
    int sum;
    sum = rec1.area(3,4);
    cout<<"area = "<<sum<<"
    ";
    }
  • 相关阅读:
    ARM9嵌入式学习日志--20170828
    技术积累
    做产品还是做技术?
    python学习之一
    他山之石——面试非技术问题整理(持续更新中)
    他山之石——面试技术问题整理(持续更新中)
    .bss .text和.data简介
    linux学习——大话linux网络
    实用的技术网站
    linux学习——centos minimal安装vim
  • 原文地址:https://www.cnblogs.com/defen/p/5288894.html
Copyright © 2020-2023  润新知