C++入门

面对对象思想,任何事物都可以被看作一个对象。一个在复杂的模型都是由千千万万个对象组成,一个对象太复杂,就分成两个两个,两个太复杂就分成四个。
例如,地球可以看作一个相当复杂的对象,每种动物,每种植物,土壤。 每个对象也可以抽象为两个要素:属性和行为

每个对象都是一个完整的独立的个体,它是由相关的属性和行为组合,与外界分离

窗口就是一个类

封装:意味着把对象的属性和方法结合成一个独立的系统单位,尽可能隐藏对内部的细节。

例如:总公司和分公司,每个分公司就是一个封装,总公司给分公司下达指标。至于怎么运营,内部怎么调配总公司是不管的。

抽象:抽象的过程是对具体问题进行概括的过程,是一类公共问题进行统一描述的过程。 与其他类的交流就是抽象,类似接口一样的东西

继承:子类对象拥有与其基类相同的全部属性和方法,成为继承。

多态:基类中定义的属性和行为被子类继承后,可以具有不同的数据类型或者表现行为等特性。
例:动物是个基类,子类有,狗,兔子,鸟
这些动物有一个行为定义为move(),则子类继承下路会根据自己的特性采取不同个性的move方式。

cout 是属于 basic_ostream类。在头文件 iostream中定义

using namespace 命名空间 如果没有,就要指定具体类如
std::cout

C++中可 用const 代替宏定义

构造函数就是对象默认使用的函数(方法)例:ifstream in;in.open(“xxx.text”) 可以直接用 ifstream in(“xxx.txt”)

1、函数重载
重载实质:用同样的名字再定义一个有不同参数但有着同样用途的函数。
2、复杂的数据类型
指针、数组、结构
数组:把多个同类型的值存储在同一变量名下。

指针:C与C++重要的数据类型。其余高级语言会使用,但是都会被包装起来

程序在硬盘上以文件形式存在,但运行却是在内存中发生
例如三个变量
int a
char b
float c
在内存中的存放
在这里插入图片描述note:新的规定int与float都是4字节
对齐:变量类型根据它们自然边界进行对齐,因此C不是从5开始,而是从8开始存储(一般32位程序是4字节对齐)
extension:对齐在计算机底层比比皆是,如内存对齐,文件对齐,
32位系统对齐是1000H=4KB
64位2000H=8KB
文件对齐一般是200H因为存放不是处理,不需要太大对齐值,增加空间里利用效率

变量的地址在程序执行期间是不会变化。

1、创建变量时,系统将分配一些内存来保存他们的值
2、每个内存块拥有一个独一无二的地址
3、变量的地址可以用&来取得
4、可以把地址赋值给一种称为指针的特殊变量
5、指针的类型必须与它保存其地址的变量类型一致

通过指针访问某地址的值,使用解引用,就是在指针前面加一个星号*‘

C++支持多个指针指向同一地址
C++支持无类型指针(void),就是没有被声明为指向某种特定类型的指针(解引用之前,必须先转换成一种适当的数据类型)

传值传址和传引用

在编写个人函数时,你将受到C++中一条基本原则的限制:在默认的情况下,参数只能以值传递的方式给函数。
被传递到函数的只是变量的值,永远不会是变量本身。

引用传递
C++在事先知道某种函数的参数只能接受一个地址,就可以直接用变量名进行地址传递
例:

#include<iostream>

void swap(int &x,int &y);
void main()
{
   
	int x,y;
	swap(x,y);//这里会把地址传递给函数
	
}
void swap(int &x, int &y)
{
   
	int temp;
	temp = x;
	x = y;
	y = temp;
}

对象

对象的模型:类(class)
类就像是一副蓝图,他决定一个对象将是什么样的(具备什么样的属性、功能)

面向对象的过程第一步就是创建一个类,而每个类跟变量一样都有一个名字。
如何声明一个类:
class MyClass
{
};
note:类名的第一个字母采用大写是一种习惯上的标准。不是硬性规定。还有类声明末尾必须有一个分号

类由变量和函数组成,对象将使用那些变量来存储信息,调用那些函数来完成操作,所以会看到一些专门术语:类里边的变量成为属性,函数称为方法,本质并没有改变。

创造一辆车


class Car
{
   
public:
	std::string color;//颜色
	std::string engine;//引擎
	float gas;//油箱
	unsigned int wheel;//轮胎
	void running(void);//让汽车跑
	void fill_gas(int liter);//加油功能函数。参数是升
};


===========================================================================
实现文件
void Car::
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值