【C++入门基础篇】教程文章相关的互联网学习教程文章

C/C++基础知识:虚继承【图】

?虚继承的概念的提出主要是为了解决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" ;} }; class liger : public tiger, public lion { public : void lo() {cout << "this is lion" ;} }; int main() { class...

C/C++编程笔记:C++基础部分丨默认参数,你了解吗?【图】

默认参数是函数声明中提供的值,如果函数的调用者未提供具有默认值的参数值,则该值由编译器自动分配。以下是一个简单的C ++示例,以演示默认参数的用法。我们不必编写3个求和函数,只需将第3个和第4个参数使用默认值即可使用一个函数。输出:2 5 5 0 8 0 当函数重载与默认值一起完成时。然后,我们需要确保它不会模棱两可。 如果模棱两可,编译器将抛出错误。以下是上述程序的修改后的版本。Error:关键点: 默认参数与常量参...

c++ 基础语法记录

extern 存储类 --> 多个文件共享的全局变量或函数 引用 using namespace std --> 整个命名空间到当前作用域 using std::count --> 变量到当前作用域 函数参数 传值调用 void functions(int x, int y)–> 实际值复制给形参, 修改 实际值不改指针调用 void functions(int *x, int *y)–>参数地址复制给形参, 修改 实际值改引用调用 void functions(int &x, int &y)–> 引用地址复制给形参, 修改 实际值改 & -> 引用 不能为空, 不...

C++基础(三)—QT工程代码详解(一)【代码】【图】

#include <iostream>using namespace std;int main() {cout << "Hello World!" << endl;return 0; }(1)#include iostream是指iostream库。是C++标准库,类似C里面的stdio.h。 iostream的意思是输入输出流,直接点说就是in(输入) out(输出) stream(流),取in、out的首字母与stream合成。 (2)using namespace std; 使用一个名为std的namespace。 namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命...

C++基础学习第八课(运算符重载)【代码】

第八课 1,意义: 运算符重载,就是赋予运算符新的含义,和函数重载一样,一个函数名可以用来代表不同功能的函数; 运算符重载是为了解决类对象之间的运算符,通常的运算符只用于算术运算,如常量int之间,因为编译器已经定义了,而一个类两个对象之间成员进行运算必须重新定义,让编译器在遇到对象运算时能按我们要求进行运算 2,运算符重载限制 1,可以重载的运算符 算术运算符:+ - * / %自增、自减运算符:++ –位运算符:| & ...

C++中类的封装——基础篇【代码】【图】

C++——类的封装 一、构造函数 1、利用构造函数完成对象的初始化C++中构造函数是专门用来初始化对象的成员函数。它是一种特殊的成员函数,它不需要用户来调用,而是 在建立对象的时候自动调用。说明:1)构造函数在建立对象时被自动调用2)构造函数名与类名相同,无返回值,一般声明为public3)用户如果没有定义构造函数,则系统会自动生成一个。但是函数体为空,无参数、不执行任何初始化操作(1)在构造函数的函数体内完成对象的...

C++基础之C++学习简介

C++历史,不再赘述,度娘可查。C++语言在编程语言中一直处于前5,而且很多强大的工具软件,框架软件,算法,UI都是由C++编写而成。C++语言本身对平台是没有偏向性的。但是市场上的岗位中70%~80%为linux C++岗位。当然C++基础的东西并不涉及平台,在任意平台上学习都是一样的。C++的学习难度是编程语言中数一数二的,因此大部分人都放弃了C++的学习。C++的难度和复杂度注定了这不是一个可以走捷径学习而成的东西。市面上很多类《21天...

C++语法基础【代码】

一、数组 #include <iostream> #include <algorithm> #include <cstring> void array_study(void) {static int cnt; //static静态变量修饰符,静态变量相当于只能在该函数中使用的全局变量,自动初始化为0,即在调用该函数时,只有第一次调用才会初始化,之后的调用都会直接跳过初始化这一步int a[10],b[10]; //局部数组最大长度大概为510000;全局数组最大长度大概为490000000即4*(10^8),二维数组为22000*22000memset(a,-1,s...

C++ 关于 single linked list 链表的创建和执行的源代码基础部分(有头尾节点,考虑动态存储和memory leak等问题)【代码】

这是C++ programming II这门课布置的一个小作业,核心是关于动态存储和指针的理解(尤其是new和delete的使用);花了不少时间,中途来csdn找资料也没有看到相关内容的经验分享,所以来写篇博文记录一下成果和心得。 代码旁有简单的注释,中英夹杂;不重要的我没有翻译,有问题的话欢迎评论留言。 首先声明一些习惯性用词: head:头节点 tail:尾节点/尾部 创建(头文件) LinkedList.h: #ifndef INTLIST_H #define INTLIST_H#inc...

【c++基础】006 - 关键字 explicit 是什么意思?-转载

参考 1. 006 - 关键字 explicit 是什么意思? 2. stackoverflow-top-cpp; 完

C++OpenJudge1.13编程基础之综合应用02:不吉利日期题解【代码】

C++OpenJudge1.13编程基础之综合应用02:不吉利日期题解 描述 在国外,每月的13号和每周的星期5都是不吉利的。特别是当13号那天恰好是星期5时,更不吉利。已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。(w=1…7) 输入 输入有一行,即一月一日星期几(w)。(1 <= w <= 7) 输出 输出有一到多行,每行一个月份,表示该月的13日是星期五。 样例输入 7 样...

C++基础语法---四种cast操作符【代码】

C++中四种类型转换是:static_cast, dynamic_cast, const_cast, reinterpret_cast const_cast 用于将const变量转为非const。const_cast中的类型必须是指针、引用或者指向对象类型成员的指针,主要是用来去掉const属性,当然也可以加上const属性。主要是用前者,后者很少用。核心:对地址的操作。 void const_cast_test() {class A{public:A() : _num(0) {}public:int _num;};const int c_type = 100;//auto var = const_cast<int>...

C++基础一

//this 指针 //隐含于类的每一个非静态成员函数中 //指出成员函数所操作的对象 //当通过一个对象调用成员函数时,系统先将该对象的地址赋给 this指针,然后调用成员函数,成员函数对对象的数据成员进行操作时,就隐含使用了 this 指针

C++ 中的智能指针-基础【代码】

简介 在现代 C++ 编程中,标准库包含了智能指针(Smart pointers)。 智能指针用来确保程序不会出现内存和资源的泄漏,并且是"异常安全"(exception-safe)的。 智能指针的使用 智能指针定义在头文件 memory 里的命名空间 std 中。它对于资源获取即初始化(RAII, Resource Acquisition Is Initialization) 编程理念至关重要。该理念的目的是保证对象初始化的时候也是资源获取的时候,从而使对象的所有资源在单行代码中创建。 实践中,RA...

C++基础之智能指针的自实现【代码】【图】

智能指针实现了内存的自动化管理,使用它对一段内存空间进行管理,无需我们手动去释放这段内存空间,但智能指针的原理是什么?我们自己能否自实现一个智能指针用于内存的管理和监控?基于这些疑问,我们逐一进行介绍。 智能指针说白了就是C++标准库为我们封装好的一个对象,我们使用该对象对内存资源进行管理。智能指针对象在初始化时,便完成了对指定内存空间(或者对象资源)的创建,智能指针对象析构时可以释放它所管理的内存空...