C++认识

本文全面介绍了 C++ 编程。C++ 支持过程化、面向对象和泛型编程,是 C 语言的超集。文中阐述了面向对象程序设计的四大特性,介绍了标准库的组成,还讲解了程序结构、命名空间、引用类型、函数重载、参数默认值、动态内存分配以及类和对象等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++ 简介

  C++ 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言,支持过程化编程、面向对象编程和泛型编程。

C++ 是由 Bjarne Stroustrup 于 1979 年在新泽西州美利山贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,最初命名为带类的C,后来在 1983 年更名为 C++。

C++ 是 C 的一个超集,事实上,任何合法的 C 程序都是合法的 C++ 程序。

面向对象程序设计

C++ 完全支持面向对象的程序设计,包括面向对象开发的四大特性:

  • 封装
  • 抽象
  • 继承
  • 多态

标准库

标准的 C++ 由三个重要部分组成:

  • 核心语言,提供了所有构件块,包括变量、数据类型和常量,等等。
  • C++ 标准库,提供了大量的函数,用于操作文件、字符串等。
  • 标准模板库(STL),提供了大量的方法,用于操作数据结构等。

C++ 程序结构

#include <iostream>
using namespace std;
 
// main() 是程序开始执行的地方
 
int main()
{
   cout << "Hello World"; // 输出 Hello World
   return 0;
}
  • 头文件 <iostream>
  • 下一行 using namespace std; 告诉编译器使用 std 命名空间。
  • 下一行 int main() 是主函数,程序从这里开始执行。
  • 下一行 cout << "Hello World"; 会在屏幕上显示消息 "Hello World"。

命名空间

同一个作用域中不允许出现函数名相同或者和是变量名相同的情况!

定义: namespace 命名空间的名字

{

    变量; 函数;

};

访问: 命名空间名字::变量/函数名();

       或者使用 using namespace 名字;

引用类型

就是给已经有的变量起个别名!它和变量指的是同一块内存空间!

定义格式:

       Int a=10; int &b = a;

引用和指针的区别?

  1. 引用一定要进行初始化;指针可以不初始化;
  2. 引用只能初始化一次;指针是可以改变指向;使用引用比指针安全
  3. 指针需要开空间,引用不需要

函数重载

     函数名相同,功能相似、函数的参数不同、与返回值无关(个数、类型、顺序)的一组函数互为重载!

总结函数重载的原理:

     G++编译之后,会对函数名进行重名名,不同的函数名对应的函数在内存中的地址就是不一样的,调用的时候自然就执行不同的函数!

参数默认值

 参数默认值:就是在定义函数的时候,参数给默认值!

 

 

 

注意事项:默认值给的顺序是从右向左;在调用函数的时候,给参数的顺序是从左向右!

特别是在函数重载的时候,一定要注意参数默认值可能会产生“二义性“!!!

动态内存分配

new运算符去开空间

Delete运算符去释放

 

 

面向对象编程中类和对象

  把属性和行为整合在一起来描述一类事物的自定义的数据类型,在c++中把这种数据类型称为

类:关键字   class

C++中的结构体和C++中类的区别?

  1. 定义变量时初始化的方式不一样
  2. 结构体变量通过.可以直接访问数据成员;得出结构体中成员都是public权限类类型的变量通过.方式获取数据成员:提示是private,没法访问;得到类中成员默认是private权限

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值