c++
文章平均质量分 60
让我改变你的心智
这个作者很懒,什么都没留下…
展开
-
C++ prime(第五版)Sales_data类
#include<iostream>#include<string>#include<algorithm>using namespace std;class Sales_data{private: //共有成员,外部接口 string bookNo; unsigned units_sold; double price; double disc...原创 2018-03-06 15:08:12 · 2859 阅读 · 1 评论 -
C5-1 “鱼额宝”
题目描述 请实现一个“鱼额宝”类,下面已给出代码模板,请根据main函数中对该类的操作,补充类实现部分完成代码。 “鱼额宝”类可以记录账户余额、存钱、取钱、计算利息。该类中有一个私有静态成员变量profitRate存储“鱼额宝”的利率,可以用共有静态成员函数setProfitRate修改利率的值。程序输入为第1天至第n天连续n天的账户操作,每天只能进行一次账户操作,或存或取,每一天产生...原创 2018-03-29 15:09:05 · 561 阅读 · 0 评论 -
C++: 多文件结构和预编译命令
C++程序的一般组织结构l 一个工程可以划分为多个源文件:n 类声明文件(.h文件)n 类实现文件(.cpp文件)n 类的使用文件(main()所在的.cpp文件)l 利用工程来组合各个文件。外部变量l 如果一个变量除了在定义它的源文件中可以使用外,还能被其它文件使用,那么就称这个变量是外部变量。l 文件作用域中定义的变量,默认情况下都是外部变量,但在其它文件中如果需要使用这一变...原创 2018-03-29 12:12:10 · 1090 阅读 · 0 评论 -
C++:数组类模板
数组类模板静态数组是具有固定元素个数的群体,其中的元素可以通过下标直接访问。缺点:大小在编译时就已经确定,在运行时无法修改。动态数组由一系列位置连续的,任意数量相同类型的元素组成。优点:其元素个数可在程序运行时改变。vector就是用类模板实现的动态数组。#ifndef ARRAY_H#define ARRAY_H#include <cassert>template <c...原创 2018-04-10 21:24:57 · 2113 阅读 · 1 评论 -
C++:类模板
类模板类模板的作用使用类模板使用户可以为类声明一种模式,使得类中的某些数据成员、某些成员函数的参数、某些成员函数的返回值,能取任意类型(包括基本类型的和用户自定义类型)。类模板的声明类模板 template <模板参数表> class 类名 {类成员声明};如果需要在类模板以外定义其成员函数,则要采用以下的形式: template <模板参数表> 类型名 类名<模板参...原创 2018-04-10 19:04:21 · 170 阅读 · 0 评论 -
二叉树的遍历
二叉树的前序遍历:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * };...原创 2018-04-15 21:17:04 · 182 阅读 · 0 评论 -
C++:虚函数
初识虚函数用virtual关键字说明的函数虚函数是实现运行时多态性基础C++中的虚函数是动态绑定的函数虚函数必须是非静态的成员函数,虚函数经过派生之后,就可以实现运行过程中的多态。一般成员函数可以是虚函数构造函数不能是虚函数析构函数可以是虚函数一般虚函数成员虚函数的声明virtual 函数类型 函数名(形参表);虚函数声明只能出现在类定义中的函数原型声明中,而不能在成员函数实现的时候。在派生类中可...原创 2018-04-10 12:20:51 · 1335 阅读 · 0 评论 -
C++: 继承的基本概念和语法
继承的基本概念和语法继承与派生概述继承与派生是同一过程从不同的角度看保持已有类的特性而构造新类的过程称为继承在已有类的基础上新增自己的特性而产生新类的过程称为派生。被继承的已有类称为基类(或父类)派生出的新类称为派生类(或子类)直接参与派生出某类的基类称为直接基类基类的基类甚至更高层的基类称为间接基类继承与派生的目的继承的目的:实现设计与代码的重用。派生的目的:当新的问题出现,原有程序无法解决(或...原创 2018-04-02 21:50:25 · 659 阅读 · 0 评论 -
C++:类的友元
类的友元友元是C++提供的一种破坏数据封装和数据隐藏的机制。通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息。可以使用友元函数和友元类。为了确保数据的完整性,及数据封装与隐藏的原则,建议尽量不使用或少使用友元。友元函数友元函数是在类声明中由关键字friend修饰说明的非成员函数,在它的函数体中能够通过对象名访问private和protected成员作用:增加灵活...原创 2018-03-27 13:21:13 · 276 阅读 · 0 评论 -
C++:枚举类
枚举类定义l 语法形式enum class枚举类型名: 底层类型 {枚举值列表};l 例:enumclass Type { General, Light, Medium, Heavy};enumclass Type: char { General, Light, Medium, Heavy};enumclass Category { General=1, Pistol, MachineGu...原创 2018-03-26 16:28:58 · 2159 阅读 · 0 评论 -
C++: 联合体
联合体的目的是存储空间的共用特点成员共用同一组内存单元任何两个成员不会同时有效声明形式union 联合体名称{ 公有成员protected: 保护型成员private: 私有成员};联合体的内存分配举例说明:union Mark { //表示成绩的联合体 char grade; //等级制的成绩 bool pass; //只记是否通过课程的成绩 int pe...原创 2018-03-26 16:21:01 · 275 阅读 · 0 评论 -
C++ 前向引用声明
类应该先声明,后使用如果需要在某个类的声明之前,引用该类,则应进行前向引用声明前向引用声明只为程序引用一个标识符,但具体声明在其他地方例:class B; //前向引用声明class A {public: void f(B b);};class B {public: void g(A a);};前向引用声明注意事项l 使用前向引用声明虽然可以解决一些问题,但它并不是万能的。...原创 2018-03-26 16:07:52 · 6369 阅读 · 3 评论 -
C++:虚基类
虚基类需要解决的问题当派生类从多个基类派生,而这些基类又共同基类,则在访问此共同基类中的成员时,将产生冗余,并有可能因冗余带来不一致性虚基类声明以virtual说明基类继承方式例:class B1:virtual public B作用主要用来解决多继承时可能发生的对同一基类继承多次而产生的二义性问题为最远的派生类提供唯一的基类成员,而不重复产生多次复制注意:在第一级继承时就要将共同基类设计为虚基类...原创 2018-04-08 19:55:59 · 633 阅读 · 0 评论 -
C++:类与对象之构造函数
构造函数作用:在对象被创建时使用特定的值初始化对象,将对象初始化为一个特定的初始化对象。例如:希望在构造一个clock对象时,将初试时间设置为0:0:0,就可以通过构造函数来设置。形式:1 函数名与类名相同2 不能定义返回值类型,也不能有return语句3 有无形式参数均可4 可以使内联函数5 可以重载6 可以带默认参数值调用时机:在对象被创建时自动调用 例如:Clock myclock(0:0:...原创 2018-03-24 21:39:58 · 725 阅读 · 0 评论 -
C++: 智能指针
智能指针显式管理内存在是能上有优势,但容易出错。C++11提供智能指针的数据类型,对垃圾回收技术提供了一些支持,实现一定程度的内存管理C++11的智能指针unique_ptr :不允许多个指针共享资源,可以用标准库中的move函数转移指针shared_ptr :多个指针共享资源weak_ptr :可复制shared_ptr,但其构造或者释放对资源不产生影响...原创 2018-03-29 18:25:20 · 128 阅读 · 0 评论 -
C5-2 数老鼠
C5-2 数老鼠 (100/100 分数) 题目描述 请实现一个老鼠类,下面已给出代码模板,请根据main函数中对该类的操作,补充类实现部分完成代码。 该类有个公有静态变量num记录该类的所有对象数,主函数将会在不同语句之后输出对象数,只有正确地实现该类,保证num正确记录该类的对象数,才能输出正确的结果。#include <iostream>...原创 2018-03-29 15:23:59 · 576 阅读 · 0 评论