【C++】面向对象的编程——易忘知识点


C++编程语言学习易忘知识点整理

一、 类
1.1 C++类访问修饰符
  • public 类外可以通过.访问
  • private 只有类和友元函数可以访问,默认设置
  • protect 派生类(即子类)可以访问
1.2 类成员函数

除了可以定义在类定义内部,还可以通过::定义在类外

<返回类型> <类名>::<函数名>(函数参数列表)
{
<函数体>
}
1.3 构造函数&析构函数
  • 构造函数
    每次创建类的新对象时执行
    构造函数的名称与类的名称完全相同,并且不会返回任何类型,也不会返回void,可用于为某些成员变量设置初始值。默认是不带参数的。也可以带参数用来初始化变量。
    Tips:构造函数后加冒号是初始化表达式,主要有以下四种情况:

1、初始化const成员;
2、初始化引用成员;
3、当调用基类的构造函数,而它拥有一组参数时;
4、当调用成员类的构造函数,而它拥有一组参数时。
这样主要是为了有的数据成员需要在构造函数调用之后,函数体执行之前就想进行初始化,如引用数据成员、常量数据成员和对象数据成员。

冒号初始化是给数据成员分配内存空间时就进行初始化,也就是说分配一个数据成员只要冒号后有此数据成员的赋值表达式(这个表达式必须是括号赋值表达式),那么分配了内存空间后在进入函数体之前给数据成员赋值。

  • 析构函数
    每次删除所创建的对象时执行
    析构函数的名称与类的名称完全相同,只是在前面加了~波浪号作为前缀,没有返回值,也不带任何参数,一般用于跳出程序前释放资源。
1.4 拷贝构造函数

在创建对象时,使用同一类中之前创建的对象来初始化所创建的对象,通常用于:

  • 通过使用另一个同类型的对象来初始化新创建的对象;
  • 复制对象把它作为参数传递给函数;
  • 复制对象,并从函数返回这个对象。

如果在类中没有定义拷贝构造函数,编译器会自行定义一个。如果类带有指针变量,并有动态内存分配,则它必须有一个拷贝构造函数。拷贝构造函数的最常见形式如下:

classname (const classname &obj) {  // obj 是一个对象引用,该对象是用于初始化另一个对象
   // 构造函数的主体
}
1.5 友元函数

定义在类外部,但可以访问私有成员和保护成员,不是一个成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。

  • 定义方式
    如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字 friend,如下所示:
class Box
{
   double width;
public:
   double length;
   friend void printWidth( Box box );  // 声明友元函数
   friend class ClassTwo;  // 声明ClassTwo的所有成员函数作为类Box的友元
   void setWidth( double wid );
};
1.6 内联函数

通常与类一起使用,如果一个函数时内联函数,在编译的时候,编译器会把这个函数的代码副本放置在每一个调用该函数的地方。对内联函

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThetaQing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值