C++初学

C++是一种面向对象的语言,主要学习其类的设计,C语言面向过程,学习编程思想。

编程用来解决问题,描述事件。

C++有封装、继承、多态三种特性,友元破坏了封装,使C++不是纯面向对象语言。

        封装:外部不是直接使用

        继承:父子

        多态:多种形态,实现效果不一样

结构体在C和C++中的区别

异:

1.struct在C中不能为空,C++中可以

2.在C++中空结构体大小为1个字节

3.在C中结构体名就是结构体名,在C++中结构体作为类型名,可以直接定义变量

4.在C中struct里面不能写函数,C++中可以

同:

1.在C++中也需要内存对齐,小的在两边,分别与最大的对齐;小的在一边,小的之和与最大的对齐(倍数关系)

struct和class的异同

同:struct可以实现和class一样的功能
异:struct默认public,class默认private

stdio.h和iostream

stdio.h标准输入输出头文件
1.scanf,printf     
以特定格式输出用printf方便
2.gets,puts
3.getchar,putchar
原型:返回值 函数名(格式说明,地址列表)

iostream输入输出流类
istream输入流类 cin对象 >>运算符
ostream输出流类 cout对象 <<运算符
endl结束并换行

using namespace std;
使用命名空间
区分不同“人”写的名字相同的代码

namespace AA
{
	int sum = 0;
	void sort()
	{
		cout << "AA:sum" << endl;
	}
}
namespace BB
{
	int sum = 0;
	void sort()
	{
		cout << "BB:sum" << endl;
	}
}
namespace CC
{
	int sum = 0;
	void sort()
	{
		cout << "CC:sum" << endl;
	}
}
int main()
{
	using namespace AA;
	sort();
	BB::sort();
	CC::sort();
}

C++的三种类型

值类型,指针类型,引用类型

引用和指针的异同

1.指针可以不初始化,引用必须初始化
 2.指针通常初始化为空,引用不能为空
 3.sizeof(指针)为4(x86),sizeof(引用)是实体大小
 4.指针可以变对象,引用不行能改变
 5.指针可以解引用,引用不能(引用就是实体)

野指针指向垃圾内存
 1.声明时候出现(没申空间)
 2.free或delete后出现

解引用,从头开始取基类型的字节数

解引用是取出地址(16进制)内的东西转换,不是直接存数据

int main()
{ 
	char str[5] = { 1,1,1,1,1 };//一字节八位,str数组存在内存中为0000000100000001000000010000000100000001
	int* p = (int*)str;//p指向str下标位置,数组开头,取0000000100000001000000010000000100000001中四字节(int类型四字节)
	printf("%d",*p);//输出00000001000000010000000100000001的十进制
}

函数重载,重载多态

1.函数名相同,同一作用域内
2.参数列表不同
3.和返回值无关,不能光通过返回值确定重载
4.const函数可以区别重载

struct aa
{
	void test(){}//1
	void test()const{}//2
};//1,2是重载
void test(){}//3
//1,3不是重载,函数名不同aa::test和test
void test(int a){}//4
void test(int a,int b){}//5
//1,2,3是重载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

曦樂~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值