c++
Rocky0429
我愿能朝着太阳生长,做一个温暖的人。
展开
-
4-1复数类的运算符重载
4-1 复数类的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述通过本题目的练习可以掌握成员运算符重载及友元运算符重载要求定义一个复数类,重载加法和减法运算符以适应对复数运算的要求,重载插入运算符(以方便输出一个复数的要求。输入 要求在主函数中创建对象时初始化对象的值。输出 输出数据原创 2014-10-03 17:27:17 · 2986 阅读 · 0 评论 -
C++之内联函数+类内/外定义+构造函数+初始化列表+析构函数
内联函数: 关键字是inline,如下应用:inline void fun(){ cout << "hello " << endl;}内联函数与普通函数的区别如下:(相当于内联函数省去了步骤2和4) 类内定义:将函数的函数体定义在类内。 类内定义与内联函数的关系:类内定义就是默认为inline内联函数。类外定义: 类外定义就是函数体在类外面,分为同文件类外定义和分文件类外定义。在原创 2017-03-03 11:11:35 · 3962 阅读 · 3 评论 -
C++之对象数组+对象成员+拷贝构造函数(深/浅)
对象数组实例(栈中实例化和堆中实例化):class Coordinate{public: int m_iX; int m_iY;};int main(){ Coordinate coord[3];//栈中实例化 coord[1].m_iX = 10; Coordinate *p = new Coordinate[3];//堆中实例化 p[0].原创 2017-03-03 15:47:42 · 8879 阅读 · 0 评论 -
C++之指针(对象指针+对象成员指针+this指针[待补充])
对象指针 对象指针就是指针指向一个对象。class Coordinate//坐标系上的点{public: int m_iX; int m_iY;};Coordinate *p = new Coordinate;//在堆中实例化在实例化时,p的指针实际指向的是m_iX,在实例化对象时,下列代码中的注释部分也是符合语法的。int main(){ Coordinate原创 2017-03-03 17:36:34 · 1280 阅读 · 0 评论 -
C++之继承(多重继承+多继承+虚继承+虚析构函数+重定义)
多重继承和多继承 这个我们来讲讲这两个的概念问题,一字之差,千差万别。 多重继承,比如有三个类,人类-士兵类-步兵类,三个依次继承,这样的继承称为多重继承。class Person{};class Soldier :public Person{};class Infantryman :public Soldier{};多继承是如果一个类有多个基类,比如农民工类继承了农民类和工人类。clas原创 2017-03-04 13:07:54 · 3787 阅读 · 0 评论 -
C++之多态(静态多态+动态多态+虚函数+虚析构函数+多态原理[未完待续])
多态(静态多态+动态多态) 多态是面向对象的三大特征(封装,继承,多态)之一。 教科书定义:指相同对象接收不同消息或不同对象接到相同消息产生不同的动作。简单来说就是当发出一条命令时,不同的对象接收到同样的命令时,所做出的动作是不同的。静态多态(早绑定) 如下代码,两个一样的函数名,但是参数不同,在调用时,程序会根据参数不同调用不同函数。因为程序很早就把这种情况编译进去,这就情况就叫静态多态。c原创 2017-03-05 11:10:12 · 1222 阅读 · 0 评论 -
C++之继承(继承方式+隐藏+覆盖)
我们在定义对象的时候,会发现很多的对象之间都是有联系的,如以下两个类:class Person{public: void eat(); string m_strName; int m_iAge;};class Worker{public: void eat(); void work(); string m_strName; int m原创 2017-03-03 23:04:35 · 1571 阅读 · 0 评论 -
C++之多态(纯虚函数+RTTI+异常处理)
纯虚函数 纯虚函数是指没有函数体,定义时在函数名后加上=0,如下代码所示class Shape{public: virtual double calcArea()//虚函数 {return 0;} virtual double calcPerimeter()=0;//纯虚函数protected: int m_iEge;};在虚函数指针指向的虚函数表中,ca原创 2017-03-05 15:59:09 · 1322 阅读 · 0 评论 -
C++之模板(友元函数+友元类+静态Static)
友元函数 友元函数分为友元全局函数和友元成员函数。 下面是一个友元全局函数的例子:class Coordinate{ friend void printXY(Coordinate &c);public: Coordinate(int x, int y);private: int m_iX; int m_iY;};友元函数的应用void printXY(Coo原创 2017-03-05 20:57:52 · 2633 阅读 · 0 评论 -
二分搜索树常见操作(C++版)
#include <iostream>#include <algorithm>#include <string>#include <ctime>#include <cmath>#include <cassert>#include <queue>using namespace std;template <typename Key,typename Value>class BST{pub原创 2017-03-14 10:57:13 · 1492 阅读 · 1 评论 -
并查集及优化(C++)
#include <iostream>#include <algorithm>#include <string>#include <cassert>using namespace std;/*//查找快,但是合并差class UnionFind1{private: int *id; int Count;public: UnionFind1(int n){原创 2017-03-14 23:11:40 · 1523 阅读 · 1 评论 -
C++之string
在C++中我们用string来代替在C语言中char类型很多单操作的繁琐。 初始化string对象的方式: string的常用操作: 注意:string str="Hello"+"World"//双引号引起的字符串通过加号链接是非法的下面以一段代码来体会一下string的快感/*题目描述: 1.提示用户输入姓名 2.接收用户的输入 3.然后向用户问好,hello xxx原创 2017-03-02 19:34:49 · 948 阅读 · 0 评论 -
C++之内存管理
我们在了解内存管理之前首先要明白以下三点: 1.内存的本质是资源 2.操作系统掌管着内存的资源 3.程序员可以做的是申请/归还这种资源内存的申请与释放申请/释放一个内存:int *p=new intdelete p申请/释放块内存int *arr=new int[10];delete []arr;申请内存注意事项: 我们要知道实际上在申请内存的时候我们不一定能申请成功,因为可能碰原创 2017-03-02 17:44:26 · 849 阅读 · 0 评论 -
C++之const关键字
Update:2018/04/19若定义一个整型变量int x=10,那么 变量名:x 存储地址:&x 存储内容:10如果是const int x=10,那么 变量名:x 存储地址:&x 存储内容:10 其中const的存储内容10(加粗斜体)代表的是常量,从此不再改变。 PS:对于C++来说它的const用法和C不太一样,若定义一个常量,常量以及值存储在一...原创 2017-03-02 17:23:10 · 920 阅读 · 0 评论 -
3-5 学生成绩统计
3-5 学生成绩统计Time Limit: 1000MS Memory limit: 65536K 题目描述通过本题目练习可以掌握对象数组的用法,主要是对象数组中数据的输入输出操作。设计一个学生类Student它具有私有的数据成员:学号、姓名、数学成绩、英语成绩、计算机成绩;具有公有的成员函数:求三门课总成绩的函数int sum();求三门课平均成绩原创 2014-09-20 16:52:47 · 2885 阅读 · 1 评论 -
3-3 构造函数的调用(高级)
3-3 构造函数的调用(高级) Time Limit: 1000MS Memory limit: 65536K 题目描述通过本题目的练习可以掌握创建普通对象、创建对象数组和动态创建和析构对象时调用构造函数和析构函数的时机;要求创建一个类A;类中仅包含构造函数和析构函数,按照程序的输出写出类的定义和主函数main中的代码。输入 无输出原创 2014-09-16 23:00:30 · 1732 阅读 · 0 评论 -
3-1 Point类的构造函数(构造函数的重载)
3-1 Point类的构造函数 Time Limit: 1000MS Memory limit: 65536K 题目描述通过本题目的练习可以掌握类的构造函数的定义;设计一个点类Point,私有数据成员有x、y;公有成员函数有:无参数的构造函数Point(),带参数的构造函数Point(int,int);ShowPoint()输出点对象的信息在主函数main()中原创 2014-09-15 18:36:05 · 3859 阅读 · 0 评论 -
2-2 Time类的定义
2-2 Time类的定义Time Limit: 1000MS Memory limit: 65536K题目描述通过本题目的练习可以掌握类与对象的定义;设计一个时间类Time,私有数据成员有hour(时)、minute(分)、second(秒);公有成员函数有:setHour(int)设置数据成员hour的值,非法的输入默认为12;setM原创 2014-09-09 19:46:13 · 2702 阅读 · 0 评论 -
3-4 计算长方形的周长和面积
3-4 计算长方形的周长和面积 Time Limit: 1000MS Memory limit: 65536K 题目描述通过本题的练习可以掌握拷贝构造函数的定义和使用方法;设计一个长方形类Rect,计算长方形的周长与面积。类中有私有数据成员Length(长)、Width(宽),由具有缺省参数值的构造函数对其初始化,函数原型为:Rect(double Length=0原创 2014-09-19 16:30:28 · 5829 阅读 · 0 评论 -
4-2电子时钟中的运算符重载
4-2 电子时钟中的运算符重载 Time Limit: 1000MS Memory limit: 65536K 题目描述通过本题目的练习可以运算符重载的方法;设计一个时间类Time,私有数据成员有hour(时)、minute(分)、second(秒);公有成员函数有:setHour(int)设置数据成员hour的值,非法的输入默认为12;setMinue(int原创 2014-10-10 09:14:21 · 2376 阅读 · 0 评论 -
2-1 Point类的定义
2-1 Point类的定义 Time Limit: 1000MS Memory limit: 65536K 题目描述通过本题目的练习可以掌握类与对象的定义;设计一个点类Time,它具有私有数据成员x(横坐标)、y(纵坐标);公有成员函数:SetPoint(int,int)用于设置点对象的值,ShowPoint()用于输出点对象的信息在主函数中调用成员函数SetP原创 2014-09-07 22:53:40 · 2411 阅读 · 0 评论 -
C++之环形队列的实现
MyQueue.hclass MyQueue{public: MyQueue(int queueCapacity);//创建队列 virtual ~MyQueue();//销毁队列 void ClearQueue();//请空队列 bool QueueEmpty() const;//判空队列 bool QueueFull() const;//队列判满原创 2017-03-02 11:02:12 · 3433 阅读 · 0 评论 -
C++之栈的实现
MyStack.hclass MyStack{public: MyStack(int Size);//分配内存初始化栈空间,设定栈容量,栈顶 ~MyStack();//回收栈空间内存 bool stackEmpty();//判定栈是否为空 bool stackFull();//判定栈是否满 void clearStack();//清空栈 int s原创 2017-03-02 15:16:18 · 1756 阅读 · 0 评论 -
C++之语言引用
引用就是指变量的别名。就如人有外号一样,我叫赵四,外号尼古拉斯,实际上都是指赵四这个人。 程序1:#include <iostream>using namespace std;int main(){ int a=3; int &b=a;//引用必须初始化,int & 是引用数据类型 b=10; cout<<...原创 2017-03-02 16:45:16 · 923 阅读 · 0 评论 -
图的基础(C++)
DenseGraph.h#ifndef DENSEGRAPH_H_INCLUDED#define DENSEGRAPH_H_INCLUDED#include <iostream>#include <algorithm>#include <string>#include <vector>#include <cassert>#include <ctime>using namespace st原创 2017-03-15 21:11:35 · 1471 阅读 · 2 评论