zoukankan      html  css  js  c++  java
  • C++ ------- 类和对象

    C++面向对象的三大特性:封装、继承、多态

    一、封装 

      封装的意义:将属性和行为作为一个整体,表现生活中的事物

            将属性和行为加以权限控制

     1 #include<iostream>
     2 #include<string>
     3 using namespace std;
     4 
     5 // 创建学生类
     6 class Student {
     7 
     8 public:  // 公共权限
     9     string name;
    10     int studentNumber;
    11 
    12     void showStudent()
    13     {
    14         cout << "学生的姓名: " << name << endl;
    15         cout << "学生的学号: " << studentNumber << endl;
    16     }
    17 };
    18 
    19 int main()
    20 {
    21     Student stu;
    22 
    23     stu.name = "高鹏";
    24     stu.studentNumber = 10000;
    25 
    26     stu.showStudent();
    27     
    28     system("pause");
    29     return 0;
    30 }
    创建学生类

        访问权限有三种:public 公共权限 → 类内可以访问,类外可以访问、protected 保护权限 → 类内可以访问,类外不可以访问、private 私有权限 → 类内可以访问,类外不可以访问

      struct 和 class 的区别:

        在 C++ 中 struct 和 class 唯一的区别就在于 默认的访问权限不同

          区别:struct 默认权限为公共、 class 默认权限为私有

    二、对象的初始化和清理

      1、 构造函数:主要作用在于创建对象时为对象的成员属性赋值,构造函数由编译器自动调用,无需手动调用

          构造函数语法:类名(){}

            构造函数没有返回值不写void;函数名与类名相同;构造函数可以有参数,因此可以重载;程序会自动调用构造,且只调用一次;

        析构函数:主要作用在于对象销毁前系统自动调用,执行一些清理工作

          析构函数语法:~类名(){}

            析构函数没有返回值不写void;函数名与类名相同,且在类名前加 ~;析构函数不可以有参数,不会有重载;程序在销毁前会自动调用析构,且只会调用一次

      2、构造函数的分类及调用:

          按参数分:有参构造和无参构造

          按类型分:普通构造和拷贝构造

      3、拷贝构造函数调用时机

          C++中拷贝构造函数调用时机通常有三种情况

            使用一个已经创建完毕的对象来初始化一个新对象

            值传递的方式给函数参数传值

            以值方式返回局部对象

      4、构造函数调用规则

        默认情况下,c++ 编译器至少给一个类添加3个函数

          1、默认构造函数(无参,函数体为空)

          2、默认析构函数(无参,函数体为空)

          3、默认拷贝构造函数,对属性进行值拷贝

        

  • 相关阅读:
    深入浅出 Application Insights--学习笔记
    .NET Core 在 K8S 上的开发实践--学习笔记
    传统.NET应用向微服务架构迁移的实践经验--学习笔记
    微服务快速开发框架的设计--学习笔记
    在.NET Core下的机器学习--学习笔记
    RPA AI .NET Core 与未来--学习笔记
    当我们在谈 .NET Core 跨平台时,我们在谈些什么?--学习笔记
    .Net Core + 微信赋能企业级智能客服系统--学习笔记
    用ASP.NET Core构建可检测的高可用服务--学习笔记
    ASP.NET Core基于K8S的微服务电商案例实践--学习笔记
  • 原文地址:https://www.cnblogs.com/evething-begins-with-choice/p/13042182.html
Copyright © 2011-2022 走看看