美文网首页
C++第二讲 类和对象

C++第二讲 类和对象

作者: 大旺旺的弟弟小旺旺 | 来源:发表于2021-10-28 07:56 被阅读0次

目标:

  • 类和对象的认识
  • 类的定义
  • 类的作用域
  • 类的实例化
  • 类的限定符
  • 类的大小
  • 类的成员变量this

类和对象的认识

c语言是一个过程语言,关注的是结果。但是c++是面向对象的,关注点是对象。在之前的c里面,结构体值能定义变量,在c++不仅仅是变量,还可以是函数。

类的定义

c++作为面向语言,可以是类来替代结构体
类和结构体有啥区别? 我认为好像一个有作用域另一个没有吧

class className{
    
};  //分号  java里面不需要

class是关键字 className {} 这些和java一样。

创建的和java的不同

方式一:

class Animal{
  public:
  void showInfo(){
}
public:
  char *name;
  int age;
};

这个方式和java基本一样,但是后面多了一个分号,作用域修饰符只需要写一次。
方式二:
头定义:

class People{
  public:
  void showInfo();
public char *name;
};

class实现

#include "people.h"

void People::showInfo(){
}

一般采用第二种。

类的封装

  • 访问修饰符
    封装方式:类将对象的属性和方法结合在一起,使得对象更完善,通过修饰符将其提供给不同的用户使用。class默认使用的是private.
    和java有区别:没有默认修饰符

类的作用域

类定义了一个新的作用域,类的所有成员变量定义在作用域内,在类外定义成员,需要使用::作用域解析符知名成员属性那个类域。

class People{
public :
 void println();
};

People::println(){
}

类的实例化

用类型创建对象的过程,成为类的实例化。

  • 类只是定义了一个壳子,限定了这个类有那些东西,有什么功能,并没有在堆中分配空间,进行存储。
  • 一个类可以实例化多个对象

如何计算类的大小

  • 计算
class A{
  public :
   void printA{

}
private:
  char  _a;
}

一个类的大小 ,等于类中所有的成员变量之和,同时会进行代码对齐,null类分配了一个字节。

内存对齐

this

我们创建多个类,使用s1调用的是s1的方法,s2调用的是s2的方法,c++通过一个this指针解决错落的问题,使用了一个指针,让指针指向当前对象,函数内的操作都通过指针来操作。

指针的特性:

  • this指针类型,*const
  • 只在成员函数内部使用
  • this指针本质其实是一个形式参数,谁调用就把说的指针给它,对象是不存储指针的。
  • thi指针是一个隐含的指针形参,一般的情况由编译器自动传递。

相关文章

  • C++第二讲 类和对象

    目标: 类和对象的认识 类的定义 类的作用域 类的实例化 类的限定符 类的大小 类的成员变量this 类和对象的认...

  • C++零基础教程之类和对象初识

    C++ 类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核...

  • C++面向对象

    C++类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心...

  • [C++之旅] 7 C++类和对象

    [C++之旅] 7 C++类和对象 类和对象 类:相当于一个种类,以狗狗为例,狗就是一个类,狗这个类里包含无数种不...

  • C++ — 类 & 对象超详解

    C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ ...

  • C++系列之面向对象

    C++类&对象 C++类定义 类&对象详解 概念描述类成员函数[https://www.runoob.com/cp...

  • 一、类和对象

    *************************C++ 第一天 类和对象********************...

  • 第二讲 类、对象

    一、什么是类,什么是对象? 问:java是面向对象的语言,何为对象?答:对象是类的一个实例问:何为类答:类是一种定...

  • c++第三讲 类和对象

    目标: 类的默认成员函数 构造函数 析构函数 拷贝构造函数 赋值操作符重载 默认拷贝函数与赋值运算符重载 cons...

  • C++类和对象

    类定义: 类实例化对象:从栈中实例化,从堆中实例化。 访问限定符:public 公有的protected 受保护的...

网友评论

      本文标题:C++第二讲 类和对象

      本文链接:https://www.haomeiwen.com/subject/ddkdaltx.html