C++简介和基本语法介绍

1.C++简介

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

面向对象程序设计

封装;封装是将数据和方法组合在一起,对外部隐藏实现细节,只公开对外提供接口。这样可提高安全性,可靠性和灵活性。

继承:继承是从已有类中派生出新类,新类具有已有类的属性和方法,并且可以扩展或修改这些属性和方法。这样可以提高代码的复用性和可扩展性。

多态:多态是指同一种操作作用于不同的服务对象,可以有不同的解释和实现。它可以通过接口或继承实现,可以提高代码的灵活性和可读性。

抽象:抽象是从具体的实例中提取共同的特征,形成抽象类或接口,以便代码的复用和扩展。抽象类和接口可以让程序员专注于高层次的设计和业务逻辑,而不必关注底层的实现细节。

标准库

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

2.c++环境配置

文本编辑器:

     

c++编译器:

    写在源文件中的源代码是人类可读的源。它需要“编译”,转为机器语言,这样CPU可以按给定指令执行程序。c++编译器用于把源代码编译成最终的可执行程序。

 

3.c++基本语法

c++程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在简要地看下什么是类,对象,方法,即时变量。

 对象:对象具有状态和行为。例如:一只狗的状态-颜色-名称-行为

类:类可以定义为描述对象行为和状态的模拟。

方法:从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑,操作数据以及执行所有的操作。

即时变量:每个对象都有其独特的即时变量,变量的状态是由这些即时变量的值创造的。

简单的代码实例:

#include <iostream>
using namespace std;//高速编译器使用std命名空间


int main()
{
cout<<"hello world";
return 0;//终止main函数,并调用进程返回值0


}

c++关键字

4.c++注释

//   一般用于单行注释

/*....*/   一般用于多行注释

5.c++的数据类型 

其中wchar_t这样来的:

typedef short int wchar_t;

所以wchar_t实际上的空间和short in 一样。

typedef声明

使用其为一个已有类型取一个新名字。 

typedef type newname;

typedef int feet;

5.枚举类型

   枚举类型是c++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。

如果一个变量只有几种可能的值,可以定义为枚举类型。所谓枚举类型是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。

创建枚举,需要使用关键字enum。枚举类型的一般形式为:

enum 枚举名{
     标识符【=整型常数】
     标识符【=整型常数】
   。。。
     
}枚举变量;

如果枚举没有初始化,即省掉“=整型常数”时,则从第一个标识符开始。

例如,下面的代码定义了一个颜色枚举,变量C的类型为color,最后,c被赋值为“blue”

enum color {red,green,blue}c;
c=blue;
默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。例如,在下面的枚举中,green 的值为 5。

enum color { red, green=5, blue };
在这里,blue 的值为 6,因为默认情况下,每个名称都会比它前面一个名称大 1,但 red 的值依然为 0。

6.类型转换

 6.1静态转换(static cast)

静态转换是一种将数据类型的值强制转换为另一种数据类型的值。

静态转换通常用于比较类型相似的对象之间的转换,例如int和float之间的转换。

静态转换不进行任何运行时类型检查,因此可能会导致运行错误。

实例
int i=0;
float f=static_cast<float>(i);//静态将int类型转换为float类型

 6.2动态转换(dynamic cast)

动态转换通常用于将一个基类指针或引用转换为派生类指针或引用。动态转换在进运行时进行类型检查,如果不能进行转换则返回空指针或引发异常。

class Base {};
class Derived : public Base {};
Base* ptr_base = new Derived;
Derived* ptr_derived = dynamic_cast<Derived*>(ptr_base); // 将基类指针转换为派生类指针

6.3常量转换(const cast)

常量转换用于将const类型的对象转换为非const类型的对象。

常量转换只能用于转换掉const属性,不能改变对象的类型

const int i = 10;
int& r = const_cast<int&>(i); // 常量转换,将const int转换为int

6.4重新解释转换(reinterpret cast)

重新解释转换将一个数据类型的值重新解释为另一个数据类型的值,通常用于在不同数据类型之间进行转换。

重新解释转换不进行任何类型检查,因此可能会导致未定义行为

int i = 10;
float f = reinterpret_cast<float&>(i); // 重新解释将int类型转换为float类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值