200827C阶段一_C++基础

一、学习的知识点

C++

面向对象;特征 :抽象 封装 继承 多态

命名空间

C++标准库中的几乎所有内容都是在命名空间std中定义

#include<string>
#include<iostream> //cin cout的头文件
using namespace std; //标准的命名空间 作用 避免冲突

//自定义命名空间
namespace stu1
{
	int i=5;
	void print()
	{
		printf("%d\n",i);
	}
};

namespace stu2
{
	int i=10;
	void print()
	{
		printf("%d\n",i);
	}
};

//访问命名空间里面的变量或函数:命名空间::(域运算符)函数名或变量;
	//作用:避免命名冲突 变量 或函数
	stu1::print();
	stu2::print();

域运算符

作用:
1.访问命名空间的数据 stu1::print();
2.当局部变量或全局变量出现相同时,要访问全局变量的值,使用域运算符,否则优先访问局部变量 cout<<::flag<<endl;
3.可以访问类的数据成员和函数

动态内存分配

class Staff
{
public:
	Staff(); //构造函数
	~Staff();//析构函数
};

Staff::Staff()
{
	cout<<"构造函数"<<endl;
}

Staff::~Staff()
{
	cout<<"析构函数"<<endl;
}
//动态内存分配:除了malloc之外,还可以使用new运算符
	int *arr=NULL;
	//arr=static_cast<int*>(malloc(sizeof(int)));
	//arr=(int *)malloc(sizeof(int));
	*arr=30;
	free(arr);

	char *name=NULL;
	name=new char[20]; //new分配  20字节
	strcpy(name,"cccc");
	cout<<name<<endl;

	delete [] name; //内存回收 如果是单个元素 delete name;
	/*
	1.malloc是函数 new是运算符
	2.malloc与free配合使用 new与delete配合使用
	3.malloc需要知道开辟的内存大小,new不需要
	4.malloc有返回值,必须强转,new不需要
	5.在使用new创建类对象的时候,会执行构造函数,delete的时候会执行析构函数,创建类对象时只能用new
	*/
	Staff *user=NULL;
	user=new Staff;
	delete user;

结构体位段

//C++结构体 
typedef struct staff_t
{
	int id:20;  //:20 结构体位段 -实现内存对齐,节省内存 
	int role:12; //int型占据4字节32位,位段的设置不能超过基本数据类型
	char name[20];
	char pwd[12];
}STAFF_T;

类型转换和内联函数

  1. 类型转换:static_cast< int >(sum)
    float sum=5.4;
    cout<<static_cast< int >(sum)<<endl;
  2. 内联函数:inline 逻辑简单 不含循环选择语句 1-5行代码 否则认为普通函数

函数重载和引用类型

  1. 函数重载(多态):可以出现函数名相同;形参的类型、数量、顺序要有不同;只有函数类型不同不能构成重载
  2. 引用类型 一种特殊的变量(也是一个地址) 相当于变量的别名,对数组只能引用数组元素,不能引用数组名(地址)
    int s=4;
    int &ps=s;//引用必须初始化
    count<<ps<<endl;

基本数据类型

比C多了1 bool(0、1),默认为1; 2 class
bool res=0;
cout<<res<<endl;

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

初步学习了C++基础

四、作业的思路、不会的地方

未开始

五、其他需要反馈的问题

六、心得体会

期待用C++实现具体功能,体会与C程序的区别。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值