C++
161
C++ 类作用域

——C++类引入了一种新的作用域:类作用域 在类中定义的名称(如类数据成员名和类成员函数名)的作用域都为整个类,作用域为整个类的名称只在该类中是已知的,在类外是不可知的。 使用名称: 在类声明或成员函数定义中,可以使用未修饰的成员的名称(限定的名称即不加作用域解析运算符) 构造函数在被调用时才能被识 ...

绿豆sir @ 2020/06/03

162
C++ 作用域为类的常量

有时,使符号常量的作用域为类很有用: class Bakery { private: const int Months = 12; // declare a constant? FALSE double costs[Months]; ... 但这是行不通的,因为——声明类只是描述了对象的形式,并没有 ...

绿豆sir @ 2020/06/03

163
C++ 作用域内枚举

——传统的枚举存在一些问题,其中之一是两个枚举类型定义中的枚举量可能发生冲突。 enum egg {Small, Medium, Large, Jumbo}; enum t_shirt {Small, Medium, Large, Xlarge}; 这将无法通过编译(egg Small和t_shir ...

绿豆sir @ 2020/06/03

164
C++基础之对象的关系

在类中,也可以使用const关键字定义成员变量和成员函数,甚至是类的对象。由关键字const修饰的类成员变量称为类的常量成员变量。类的常量成员变量必须进行初始化,而且只能通过构造函数的成员初始化列表的方式进行。使用const修饰的函数称为常量函数 ...

君子生非异也 @ 2020/06/03

165
C++基础之友元

友元类的关系是单向的。若说明类B是类A的友元类,不等于类A也是类B的友元类。友元类的关系不能传递,即若类B是类A的友元类,而类C是类B的友元类,不等于类C是类A的友元类。除非确有必要,一般不把整个类说明为友元类,而仅把类中的某些成员函数说明为友元函数。 ...

君子生非异也 @ 2020/06/03

166
C++ 类

类规范:包括类声明以及类方法定义 类声明提供类的蓝图 方法定义提供细节 常见不通用的约定:类名首字母大写 类接口: 接口由编写类的人提供的方法组成。接口让程序员能够编写与类对象交互的代码,从而让程序能够使用类对象。 要使用某个类,必须了解其公共接口;要编写类,必须创建其公共接口。 通常,C++程序员 ...

绿豆sir @ 2020/06/03

167
C++ 构造函数

例一(类初始化错误用法): struct thing { char * pn; int m; }; thing amabob = {"wodget", -23}; // valid initialization Stock hot = {"Sukie's Autos, Inc.", 200, 50. ...

绿豆sir @ 2020/06/03

168
C++ 析构函数

——用构造函数创建对象后,程序负责跟踪该对象,直到其过期为止。对象过期时,程序将自动调用一个特殊的成员函数—析构函数完成清理工作,如释放构造函数使用new分配的内存。 析构函数的形式: 在类名前加上~,没有返回值和声明类型,没有参数: ~Stock(); 调用: 类对象过期时析构函数将自动调用。 什 ...

绿豆sir @ 2020/06/03

169
C++ 对象的初始化和赋值

——设置对象的值既可以通过初始化,也可以采用赋值的方式 利用构造函数创建临时对象进行赋值: Stock stock; // 声明一个Stock对象 ... stock = Stock("Boffo Objects", 2, 2.0); // 对stock重新赋值(或可以理解为初始化) 调用构造函数来 ...

绿豆sir @ 2020/06/03

170
C++ const成员函数

——调用对象被视为只读对象,保证成员函数无法修改它 方法: 将const关键字放在函数的括号后面: void show() const; // promises not to change invoking object void stock::show() const // 函数定义也应该使用co ...

绿豆sir @ 2020/06/03

171
C++ this指针

——this指针指向用来调用成员函数的对象(this被作为隐藏参数传递给方法,即直接在成员函数中使用而无需声明) 它是地址: this是对象的地址,而对象本身是*this 用this访问成员: 使用->运算符,通过指针来访问结构成员。这也同样使用于类成员 ...

绿豆sir @ 2020/06/03

172
二叉搜索树_BST

二叉搜索树 定义 二叉查找树(英语:Binary Search Tree),也称为二叉搜索树、有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树: 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节 ...

Delta_in_Cnblogs @ 2020/06/01

173
Unsolved --> Solved OJ思路题解

L2-4 部落 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不同的朋友圈。我们认为朋友的朋友都算在一个部落里,于是要请你统计一下,在一个给定社区中,到底有多少个互不相交的部落?并且检查任意两个人是否属于同一个部落。 输入格式: 输入在第一行给出一个正整数N(≤1e4),是已知小圈子的个数 ...

Delta_in_Cnblogs @ 2020/06/01

174
C++ 模板类array

#include < array > // 需要包含该头文件 ... using namespace std; // array位于std中 array < int, 5 > ai; // create array object of 5 ints array < double, 4 > ad = ...

绿豆sir @ 2020/06/01

175
C++ 模板类vector

#include<vector> // 包含头文件vector ... using namespace std; // vector包含在std中,因此必须包含std::vector vector <int> vi; // create a zero-size array of int int n; ...

绿豆sir @ 2020/06/01

176
C++冒泡排序 (基于函数模板实现)

冒泡排序是一种简单的排序算法。 1 #pragma once 2 #include <iostream> 3 #include <assert.h> 4 using std::cout; 5 using std::endl; 6 template <typename T> void Swap(T & ...

自恋狂学长 @ 2020/06/01

177
C语言程序结构

//include包含,包含stdio.h头文件,方便调用printf函数#include <stdio.h> //主函数,代表了整个程序的生命周期//1、它是整个程序的入口//2、有且只能有一个int main(){ printf("***********************\n"); pri ...

啊炜的宝贝 @ 2020/06/01

178
C++ 名称空间嵌套

声明时嵌套: namespace elements { namespace fire { int flame; ... } float water; } 使用内部名称空间: using namespace elements::fire; // 依此类推(第n层) ...

绿豆sir @ 2020/05/30

179
C++ 在名称空间中使用using声明和using编译指令

namespace myth { using Jill::fetch; // using声明 using namespace elements; // using编译指令 using std::cout; // using声明 using std::cin; // using声明 ... } 名字空 ...

绿豆sir @ 2020/05/30

180
C++ 给名称空间创建别名

namespace my_very_favorite_things {...} namespace mvft = my_very_favorite_things; // mvft是my_very_favorite_things的别名 namespace MEF = myth::elements::f ...

绿豆sir @ 2020/05/30