【C++编程学习笔记 week 6】教程文章相关的互联网学习教程文章

C++学习笔记第十二篇

111.容器中存放的都必须是值而不能是引用,容器内部实施的是值拷贝工作,容器内可以存放指针作为数据元素,STL中的容器其实就是数据结构课程中学习的链表,栈,队列和哈希表等结构。 112.线性表的典型操作: (1)size:获取当前容器中的元素数目。 (2)insert:在当前元素前插入新元素。 (3)erase:删除当前元素。 (4)empty:判断当前容器是否为空。 (5)front:获取第一个元素。 (6)back:获取最后一个元素。 …… 113.栈和队列的典型操作:...

C++学习笔记(3)【代码】

1、数组 int main() {int arr[] = {1, 2, 3, 4, 5, 6};//计算数组长度int len = sizeof(arr) / sizeof(arr[0]);for (int i = 0; i < len; i++){printf("%d=%d\n", i, arr[i]);}printf("哈哈:len=%d\n", len); }2、冒泡排序 int main() {int arr[] = {4, 5, 6, 7, 9, 1, 32, 4};int len = sizeof(arr) / sizeof(arr[0]);//控制行数for (int i = 0; i < len; i++){//控制列数for (int j = 0; j < len - i; ++j){//比较大小//如果满足...

C++ 学习笔记之——输入和输出【图】

在 C++ 中,我们通过调用输入输出流库中的流对象 cin 和 cout 来实现输入和输出。#include <iostream>using namespace std;int main() {int a = 0;float b = 0;char c = 0;cin >> a >> b >> c;cout << a << '\t' << b << '\t' << c << '\t' << endl;return 0; } 56 Enter 5.36 Enter a Enter 56 5.36 a 在用 cin 进行输入时,我们不用指定具体的数据类型,系统会根据变量的类型从输入流中提取相应长度的字节。同...

C++基础教程面向对象(学习笔记(47))【代码】

继承和访问说明符 在本章前面的课程中,您已经了解了基本继承的工作原理。在我们到目前为止的所有示例中,我们都使用了公共继承。也就是说,我们的派生类公开继承基类。 在本课中,我们将详细介绍公共继承,以及另外两种继承(私有和受保护)。我们还将探索不同类型的继承如何与访问说明符交互以允许或限制对成员的访问。 到目前为止,您已经看到了私有和公共访问说明符,它们决定了谁可以访问类的成员。作为一个快速复习,公共成员...

C++基础教程面向对象(学习笔记(42))

综合测验 在本章中,我们了解了两个对象之间的一些不同类型的关系。 Summary 从较简单的对象构建复杂对象的过程称为对象组合。对象组合有两种类型:组合和聚合。 当类的成员与类具有部分关系时,就存在组合。在组合关系中,类管理成员的存在。要符合写作要求,对象和部件必须具有以下关系: 部件(成员)是对象(类)的一部分 部件(成员)一次只能属于一个对象(类) 部分(成员)的存在由对象(类)管理 部分(成员)不知道对象(...

C++学习笔记(7)——C++语句【图】

C++程序是一组函数,而每个函数又是一组语句。C++有好多种语句类型,上篇笔记总结的表达式可以转化为语句,通常被称作表达式语句。除此之外,还有空语句(;),返回语句(return 0;),复合语句({}程序块)等。以上又被统称为简单语句。相对于简单语句,C++还有类似于C语言的特殊语句,条件语句、循环语句以及转移语句。本篇笔记总结这些特殊语句的用法。 一、条件语句 1.if语句 if(boolean_expression) { // 如果布尔表达式为...

北京大学MOOC C++学习笔记(四)继承和派生【代码】

继承和派生 概念:继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个 基类,而把B作为基类的一个 派生类( ( 也称子类) )。 派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数。 派生类一经定义后,可以独立使用,不依赖于基类。 派生类拥有基类的全部成员函数和成员变量,不论是private、protected、public 。 -但在派生类的各个成员函...

C++基础教程面向对象(学习笔记(27))【代码】

重载下标运算符 使用数组时,我们通常使用下标运算符([])来索引数组的特定元素: myArray[0] = 7; // 将值7放在数组的第一个元素中但是,请考虑以下IntList类,该类具有作为数组的成员变量: class IntList { private:int m_list[10]; };int main() {IntList list;// 从m_list我们如何访问元素?return 0; }因为m_list成员变量是private,所以我们无法直接从变量列表中访问它。这意味着我们无法直接获取或设置m_list数组中的值。那...

C++学习笔记8_零碎的知识

1. int main(void) {int arr[] = {1,2,3,4};//数组的长度int len = sizeof(arr)/sizeof(int);//由此可以看出,sizeof(数组名),是可以知道整个数组所占的内存多大//arr是属于int *类 } 2. int* A类,A能A[0],A[1]...这样子用

C++学习笔记6_字符串

1. C语言的字符串,char * s = "aaaa"; #include<string> class Test{ public : Test(int a, char*name) { this->a=a; int len = strlen(name); this->name=new char[len+1]; strcpy(this->name,name); } ~Test() { if(this->name!=NULL) { delete name; name =NULL; } } private: int a; char* name;}// strlen("123")只是字符串的有效长度,不是实际长度,实际是"123\0",区别于sizeof("123"),sizeof只是数据类型的...

C++学习笔记5_智能指针

1. 一般的指针int main(void){ int *p=new int; *p=20; delete p; return 0;}智能指针能自动回收#include<memory> 记得要引用头文件int main(void){ //auto_ptr<int>模板写法 auto_ptr<int> ptr(new int);}auto_ptr<>其实是一个模板类;使用智能指针,就不用自己delete了,也能自行调用析构函数2. class A{ public : A(int a) { //... } func() { //... }}int main(void){ auto_ptr<A> ptr(new A(10)); ptr->func(); (*p...

C++学习笔记7_多态

1. 类与类之间的关系class A{ public: int a; void funcA() {}}包含: class B { public: void funcB(){} A a; }//如果类B有类A的成员变量,那么B has A,类B依赖于类A使用: class C { public: void funC(A *a) { } }//C的成员方法需要A的形参,C use A *B与A的耦合度比C要高。//继承: class D:public A { void funcD() { } D(int a):A(a) //与C#不同的地方,C#是D(int a):base(a),可能是C++有多重继承的原因 ...

C++学习笔记(七)

内存模型和名称空间(单独编译、存储持续性、作用域、链接性、说明符、限定符、布局new操作符、名称空间) 1.模板声明由于不是将被编译的代码,只是指示编译器如何生成与源代码中的函数调用相匹配的函数定义,因此放在头文件中是可以的 2.在链接编译模块时,要确保所有的对象文件或库都是由同一个编译器生成的。如果有源代码可以用自己的编译器重新编译源代码来消除链接错误。 3.C++采用三种方案来存储数据,区别在于数据在内存中保...

Mudo C++网络库第五章学习笔记

高效的多线程日志日志(logging)有两个意思:诊断日志(diagnostic log), 常用日志库提供日志功能; 交易日志(transaction log), 用于记录状态变更, 通过回放日志可以逐步恢复每一次修改后的状态;日志通常用于故障诊断和追踪(trace), 也可用于性能分析; 日志通常是分布式系统中事故调查时的唯一线索, 用来追寻蛛丝马迹, 查出原凶;Log Everything All The Time;关于进程, 日志通常要记录:收到每条内部消息的ID(还可以包括关键字段、长度...

c++ 学习笔记

2018年8月1日21:52:37 —— 继承 1、派生类不能继承的几个东西 一个派生类继承了所有的基类方法,但下列情况除外: 基类的构造函数、析构函数和拷贝构造函数。 基类的重载运算符。 基类的友元函数。 2、继承类型 Class A{ } class B: public/protected/private A{ } B可以用 public protected private三种修饰符来继承A。 如果用public,那么A的public方法在B继承后仍然是public,protected仍然是protected 如果用protected,那么...