学习C++(二)

这篇博客探讨了C++的面向对象编程概念,包括类的抽象、继承和多态,强调其直观反映问题域的优势。此外,还介绍了命名空间的作用,用于避免代码中的命名冲突。接着讲解了简单的C++程序的执行流程,从预处理到编译再到链接。最后,文章深入讨论了C++流,对比了它与C语言输入输出的区别,并展示了如何进行字符指针的输出和输入操作。

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

面向对象语言的发展

在这里插入图片描述

面向对象程序设计概念

  出发点:
    更直接地描述客观世界中存在的事物(对象)以及它们之间的关系。
  特点:
    是高级语言
    将客观事物看作具有属性和行为的对象
    通过抽象找出同一类对象的共同属性和行为,形成类
    通过类的继承于多态实现代码重用
  优点:
    使程序能够比较直观地反映问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发

命名空间

  namespace即“命名空间”,也称“名称空间”、“名字空间”。
  命名空间是用来组织和重用代码的。如同名字一样的意思,NameSpace(名字空间),之所以出来这样一个东西,是因为人类可用的单词数太少,并且不同的人写的程序不可能所有的变量都没有重名现象,对于库来说,这个问题尤其严重,如果两个人写的库文件中出现同名的变量或函数(不可避免),使用起来就有问题了。为了解决这个问题,引入了名字空间这个概念,通过使用 namespace xxx;你所使用的库函数或变量就是在该名字空间中定义的,这样一来就不会引起不必要的冲突了。

#include<iostream>
#include<stdio.h>
using namespace std;
namespace name1//命名空间1
{
	int a = 1;
};
namespace name2//命名空间2
{
	int a = 2;
};
int main()
{
	printf("name1::a = %d\n",name1::a);//打印命名空间1中的a
	std::cout<<"name2::a = "<<name2::a<<endl;//打印命名空间2中的a
	return 0;
}

在这里插入图片描述

简单的C++程序

#include <iostream>//头文件
using namespace std;//命名空间
int main(int argc,char * argv[])
{
	//使用std空间里的cout输出
	//endl表示回车
	std::cout<<"hello world"<<endl;
}

在这里插入图片描述
  hello world程序解释
    预处理:交由预处理的指令以#打头,预处理要取得头文件的所有内容并使之对当前文件可用
    编译(compile)
    链接(link)

C++流

  标准流的设备名:
在这里插入图片描述
  流的理解:
在这里插入图片描述
  与C的输入输出的比较:
    比printf scanf功能强大,形式简单
    可以自动识别基本数据类型
    采用流算子来控制格式
    文件I/O也用流

  流插入运算符(即重载的运算符<<)可实现流的输出

输出char* 类型的变量

#include<iostream>
using namespace std;
int main()
{
	char temp[100] = "test";
	cout<<temp<<endl;
	return 0;
}

在这里插入图片描述

输出char* 类型的地址

//输出char* 类型的变量
#include<iostream>
using namespace std;
int main()
{
	const char* a = "test";
	cout<<"value of a is "<<a<<endl;
	//要输出指针的地址要先强制类型转换成void*
	cout<<"const char* a = "<<(void*)a<<endl;
}

在这里插入图片描述

  流读取运算符(即重载的运算符>>)可实现流的输入。
  流读取运算符通常会跳过输入流中的空格、tab键、换行符等等的空白字符。
  当遇到输入流中的文件结束符时,流读取运算符放回0(false);否则,流读取运算符返回对调用该运算符的对象的引用。

输入一个数

//输入一个数
#include<iostream>
using namespace std;
int main()
{
	int a;
	cout<<"please cin:";
	cin>>a;
	cout<<"a = "<<a<<endl;
	return 0;
}

在这里插入图片描述

输入多个数

//输入多个数
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
	int a;
	int b;
	cout<<"please cin:";
	cin>>a>>b;
	cout<<"a = "<<a<<" b = "<<b<<endl;
	return 0;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值