标签:error 技术 数据 main 需要 tac 显示器 ack 编程
(1)操作符<<:原义是按位左移,重载“<<”可将变量或常量左移到对象中
重载左移操作符(仿cout类)
1 #include<stdio.h> 2 3 const char endl = ‘\n‘; //将换行定义为一个常量 4 5 class Console //Console表示命令行对象 6 { 7 public: 8 Console& operator << (int i) //赋值重载函数,返回值变为Console&引用 9 { 10 printf("%d\n", i); 11 return *this; //当前对象自身返回,保证连续传送值 12 } 13 14 Console& operator << (char c) //重载函数 15 { 16 printf("%c\n", c); 17 return *this; 18 } 19 Console& operator << (const char* s) //重载函数 20 { 21 printf("%s\n", s); 22 return *this; 23 } 24 Console& operator << (double d) //重载函数 25 { 26 printf("%f\n", d); 27 return *this; 28 } 29 30 }; 31 32 Console cout; 33 34 int main() 35 { 36 ////cout.operator<<(1); 37 //cout << 1; //将1的整数左移到cout 38 //cout << ‘\n‘; //换行 39 // cout << 1 << ‘\n‘; //error,重载函数返回值是void不能连续左移,将返回值用 Console&实现 40 41 cout << 1 <<endl; //避免输入字符\n 42 cout << "LOVE.you" << endl; 43 44 double a = 0.1; 45 double b = 0.2; 46 cout << a + b << endl; 47 48 49 return 0; 50 }
(1)C++标准库
C++标准库并不是C++语言的一部分
C++标准库是由类库和函数库组成的集合,std
C++标准库中定义的类和对象都位于std命名空间中
C++标准库的头文件都不带.h后缀
C++标准库涵盖了C库的功能
(2)C++编译环境的组成
①C语言兼容库:头文件带.h,是C++编译器提供商为推广自己的产品,而提供的C兼容库(不是C++标准库提供的)。
②C++标准库:如string、cstdio(注意,不带.h)是C++标准库提供的。使用时要用using namespace std找开命名空间。
③编译器扩展库:编译器自己扩展的
(3)C++标准库预定义的常用数据结构
①<bitset>、<set>、<deque>、<stack>、<list>、<vector>、<queue>、<map>
②<cstdio>、<cstring>、<cstdlib>、<cmath>——(C++标准库提供的C兼容库!)
【编程实验】C++标准库中的C库兼容(如cstdio)
1 //不是c语言标准库也不是c++标准库,是c++厂商为了推广自己的产品提高的c兼容库 2 /*#include<stdio.h> 3 #include<string.h> 4 #include<stdlib.h> 5 #include<math.h> */ 6 7 8 //C++标准库提供的C兼容库 9 #include<cstdio> 10 #include<cstring> 11 #include<cstdlib> 12 #include<cmath> 13 14 using namespace std; //使用标准库要打开,namespace std命名空间 15 16 int main() 17 { 18 //以下的代码是使用C++标准库提供的C兼容库写的, 19 20 //从形式上看,与C代码写的完全一样,这就是C++ 21 22 //为C提供了很好的支持的例子! 23 24 printf("holle world!\n"); 25 26 char* p = (char*)malloc(16); 27 28 //strcpy(p, "sjdewhfj"); 29 30 double a = 3; 31 double b = 4; 32 double c = sqrt(a * a + b * b); 33 34 printf("c=%f\n", c); 35 36 free(p); 37 38 return 0; 39 }
1 #include<iostream> 2 #include<cmath> 3 4 //基于c++标准库实现, 不使用厂商提供的c语言兼容库 5 6 using namespace std; 7 8 int main() 9 { 10 //printf("hello world!"); 11 cout << "hello world!" << endl; //cout为全局对象------输出(重载左移操作符) 12 //endl---换行 13 14 15 double a = 0; 16 double b = 0; 17 18 cout << "input a :"; 19 cin >> a; //cin为全局对象------输入(重载右移操作符) 键盘上的输入传送带a 20 21 cout << "input b :"; 22 cin >> b; 23 24 double c = sqrt(a * a + b * b); 25 cout << "c=" << c << endl; //将字符串 "c=" 和c的结果输出到cout对象上,也就是传送到显示器上,显示器对应的是命令行 26 27 28 29 30 return 0; 31 }
(1)C++标准库是由类库和函数库组成的集合---------使用c++标准库里的类和函数只需要包含头文件(不带.h),里面包含子库实现了c语言的全部功能
(2)C++标准库包含经典算法和数据结构的实现
(3)C++标准库涵盖了C库的功能(子库实现)
(4)C++标准库位于std命名空间中
标签:error 技术 数据 main 需要 tac 显示器 ack 编程
原文地址:https://www.cnblogs.com/liuyueyue/p/13378402.html