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、默认拷贝构造函数,对属性进行值拷贝

        

  • 相关阅读:
    准备工作
    使用awstats分析nginx日志
    kvm虚拟化环境中的时区设置
    使用awk格式化输出文本
    gitlab(7.9)升级到8.0.1
    为openstack制作CoreOS虚拟机镜像(基于CoreOS官方提供镜像)
    KVM虚拟化之嵌套虚拟化nested
    编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)
    Linux主机之间传输文件的几种方法对比
    spice在桌面虚拟化中的应用系列之二(Linux平台spice客户端的编译安装,支持USB映射)
  • 原文地址:https://www.cnblogs.com/evething-begins-with-choice/p/13042182.html
Copyright © 2011-2022 走看看