(1)多态性是指相同的函数名对应不同的实现。多态性采用两种方式:重载方式和覆盖方式。重载方式表现在函数重载和运算符重载;覆盖方式表现在基类与派生类中相同说明的函数。(2)函数重载要求被重载的函数应该在函数参数的个数、类型、顺序上有所不同,以免引起混乱(3)运算符重载实际上是对已有的运算符进行重新定义其功能,新功能是通过函数体中的语句来实现的。运算符重载格式如下所示。<类名>operator(运算符)(参数表) ...
静态成员函数 静态成员函数 在上一节关于静态成员变量的课程中,您了解到静态成员变量是属于该类的成员变量,而不是该类的对象。如果静态成员变量是公共的,我们可以使用类名和域名解析运算符直接访问它们。但是如果静态成员变量是私有的呢?请考虑以下示例: class Something { private:static int s_value;};int Something::s_value = 1; // 初始化程序,即使s_value是私有的,这也没关系,因为它是一个定义 int main() {// 我们...
模板参数的问题: 对于模板参数的使用可以分为三大类: 1.类型参数; 2.非类型参数; 3.模板的模板参数; 针对于类型参数: 其实就是我们所最常使用的类类型,通常在模板参数列表中需要typenmae进行声明,往往是一个类或者某种类型; 可以说是最常见的一种; 针对于非类型参数: 之前提到过,例如典型的内置类型就是我们所需要的非类型参数; 通常来说,非类型参数往往有以下几种: 1.整型或者枚举类型; 2.指针类型:函数指针...
面向对象特征1)封装 (类)2)继承(基类和派生类)3)多态(通过定义虚函数支持动态联编) 面向对象三要素(类-创建对象的样板,对象,继承) C++基本数据类型整型 int (32位机,字宽4字节,16位机器 字宽2字节)字符型 char浮点型(实型)float(单精度浮点型,4个字节,约6位有效数字)和double(双精度浮点型 8个字节,约12位有效数字)空值型 void (一个字节) 数据类型修饰符(默认signed)signedunsignedlongshort 说明:...
C++基础学习笔记——动态内存分配 C++中所有内存需求都是在程序执行之前通过定义所需的变量来确定的。 但是可能存在程序的内存需求只能在运行时确定的情况。 例如,当需要的内存取决于用户输入。 在这些情况下,程序需要动态分配内存,C ++语言将运算符new和delete合成在一起。 new分配动态内存 关键字new根据变量类型来分配内存,分配使用完变量后用关键字delete释放内存。 new语法:Type* 变量名 = new Type; 分配数组:Type* 变...
文章目录(***)1.定义&功能2. 关系(***)3.覆盖(重写override)与虚函数的使用(***)4.多态产生的效果(***)5.纯虚函数(***)6小结:重载+重写 (***)1.定义&功能 多态:不同类型对象调用相同接口完成不同的行为。 a.问题:同名,同参函数出现同名隐藏,仅仅显示父类 Func(c1); //Animal Func(c2); //Animal Func(d1); //Animal Func(d2); //Animal(完整代码000_same_name.cpp) #include <iostream> using namespace ...
1.输入输出流输入是指字节流从输入设备流向内存,输出是指字节流从内存流向输出设备。标准文件是指标准输入文件键盘和标准输出文件显示屏幕。cin是istream类的对象,用来处理键盘输入;cout是ostream类的对象,用来处理屏幕输出;cerr是ostream类的对象,用来处理错误信息的输出,提供不带缓冲区的屏幕输出;clog是ostream类的对象,用来处理输出信息,提供打印机输出;#include<iostream> #include<string> using namespace std;v...
基本框架 #include <iostream> using namespace std;int main() {cout << "Hello World!\n"<<endl;system("pause");return 0; }C++的基础框架如上: 若有多个文件,有且仅有1个main函数,若有多个main函数 就会出错 变量的定义及输出: #include <iostream> using namespace std;int main() {int a = 10; cout << "a = " << a << endl;system("pause");return 0; }数据类型-整型#include <iostream> using namespace std;int main(...
转载自:公众号《码农爱学习》 一.join & detach ??join和detach为最基本的用法,join可以使主线程(main函数)等待子线程(自定义的function_1函数)完成后再退出程序,而detach可以使子线程与主线程毫无关联的独立运行,当主线程执行完毕后直接退出程序,不管子线程是否执行完毕。 例: 运行结果: 附上例代码: #include<iostream> #include<thread> using namespace std;// 子线程函数 void function_1() {for(int i=10; i>0...
虚继承 的概念的提出主要是为了解决C++多继承的问题,举个最简单的例子: 代码如下:class animal{ public : void op() {cout << "hello animal" ;} };class tiger : public animal { public : void tg() {cout << "this is tiger" ;}};class lion : public animal { public : void lo() {cout << "this is lion...
抽象: 要将现实中的一个具体事务,变成C++中的一个类,例如将现实中的汽车变成代码中的car类。完成这个过程就需要 抽象 这一基本手段。 抽象是指 对具体问题(对象)进行分析概括,找出该类对象的公共性质(属性,方法),然后将这些公共性质描述出来。例如,汽车中的公共性质由有:1.属性:轮胎,玻璃,座位。 2.方法:行驶,保护。由这些公共性质便可以写出car类。 封装: 通过抽象,我们可以将现实世界中的...
今天小编分享 C++基本输入输出、指针、引用 ,建议大家收藏慢慢学习,同时希望对大家的C++学习有所帮助。?C++ 基本的输入输出 今天我们来熟悉一下C++ 编程中最基本和最常见的 I/O 操作。 C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。 I/O 库头文件 下列的头文...
blogC++笔记:http://c.biancheng.net/view/338.htmlC++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library:标准模板库 C POSIX library : POSIX系统的C标准库规范 ISO C++ Standards Committee :C++标准委员会//《C++ primer》 《C++ 标准程序库》 《effective C++》
shared_futrue和futrue_status的用法 shared_futrue是一个类模板,类似于futrue,不同的是它的成员函数get()可以使用多次,因为是复制数据,而futrue的get()则是转移数据,使用一次之后,就失效了。 futrue_status是一个枚举类型,用来判断某个线程是否在规定时间执行完。 1 #include <iostream>2 #include <future>3 #include <Windows.h>4 using namespace std;5 6 int mythread()7 {8 cout << "my thread:" << std::this_th...
对于C++笔记的一些温习内容. 关键字: namespace: 解决命名冲突,是c++中一种新的作用域; //1.普通命名空间 namespace N1 {int a = 10;int Add(int left,int right){return left+right;} }//2.嵌套 namespace N2 {int a = 20;int Sub(int left,int right){return left-right;}namespace N3{int a = 30;int b = 20;int Mul(int left,int right){return left*right;}} }//同一个工程中,可以定义多个相同名称的命名空间 //编译器会将...