栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

2.类和对象(上)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2.类和对象(上)

目录

this指针

构造函数

拷贝构造函数


学习C++后,我们知道了C++是面向对象的,C语言是面向过程的。

C语言中结构体只能定义变量,但C++后,结构体不但可以定义变量,还能定义函数。

类的定义

class className
{
  //类体:由成员函数和成员变量组成
};//和结构体一样有分号

类的访问限制符和封装

C++如何封装呢?

用类将对象的属性和方法结合在一起,通过访问选择性将接口提供给外部的用户使用。

1. public修饰的成员在类外可以直接被访问
2. protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
3. 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
4. class的默认访问权限为private,struct为public(因为struct要兼容C)

this指针

什么叫this指针?

C++编译器给每个“非动态的成员函数”增加了以一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),函数体中所有成员变量的操作,由该指针访问。

构造函数

构造函数是一个特殊的成员函数,名字和类名一样,用来保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次。(用来给数据成员初始化)

特征:

1.函数名与类名相同

2.无返回值

3.对象实例化时编译器自动调用对应的构造函数

4.构造函数可以重载

class Date
{
public:
  //1.无参构造函数
  Date()
  {}

  //2.带参构造函数
  Date(int year, int month,int day)
  {
    _year = year;
    _month = month;
    _day = day;
  }

private:
  int _year;
  int _month;
  int _day;
};

void Test()
{
  Date d1;  //调用1
  Date d2(2021.10.26);  //调用2
}

拷贝构造函数

什么是拷贝构造函数呢?

我们在创建对象时,想要创建一个与一个对象一模一样的新对象(相当于复制),这时就出现了拷贝构造函数。

它只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352523.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号