![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++入门
文章平均质量分 85
c++入门的过程
Gy不太冷
这个作者很懒,什么都没留下…
展开
-
C++多态
C++三大特性:封装、继承、多态封装、继承前面了解了,接下来这篇就了解了解多态。多态的概念多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。举个栗子:就比如买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;军人买票时是优先买票。多态的构成条件多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价。在继承中要构成多态还有两个条件:原创 2021-06-02 17:00:28 · 87 阅读 · 0 评论 -
继承——多继承
单继承: 一个子类只有一个直接父类时称这个继承关系为单继承多继承: 一个子类有两个或以上直接父类时称这个继承关系为多继承菱形继承: 菱形继承是多继承的一种特殊情况。看着这张图,菱形继承会带来什么问题?由模型构造,可以看出菱形继承有数据冗余和二义性的问题。在A的对象中Person成员会有两份。会造成数据冗余,同时,在访问父类的数据时会存在二义性,该访问哪个?using namespace std;class Person{public: string _name; // 姓名};c原创 2021-05-27 13:55:29 · 3646 阅读 · 2 评论 -
继承初识
文章目录继承的概念及定义继承的概念及定义面向对象三大特性:封装、继承、多态。封装本质上是为了更好的管理。继承的概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。#include<iostream>#include<string>u原创 2021-05-26 23:41:40 · 105 阅读 · 0 评论 -
模板(1)
文章目录泛型编程函数模板类模板泛型编程如何实现一个通用的交换函数呢?void Swap(int& left, int& right) { int temp = left; left = right; right = temp; }void Swap(double& left, double& right) { double temp = left; left = right; right = temp; }void Swap(char& left原创 2021-05-22 20:04:30 · 80 阅读 · 0 评论 -
C\C++内存分布、new和delect
文章目录上图由添加链接描述原创 2021-05-20 23:06:30 · 110 阅读 · 0 评论 -
初始化列表、static成员、友元
文章目录再谈构造初始化列表再谈构造在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。class Date{public: Date(int year=2021, int month=5, int day=18) { _year = year; _month = month; _day = day; } private: int _year; int _month; int _day;};虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不原创 2021-05-19 09:20:37 · 98 阅读 · 0 评论 -
类的默认成员函数
类的6个默认成员函数类的6个默认成员函数1.构造函数2.析构函数拷贝构造函数类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。1.构造函数通过Date类来说明:对于Date类,可以通过SetDate公有的方法给对象设置内容,但是如果每次创建对象都调用该方法设置信息,未免有点麻烦,那能否在对象创建时,就将信息设置进去呢?构造函数是一个特殊的成员函数,名字与类名相同,创建类类型对象时由编译器自动原创 2021-05-15 20:20:51 · 129 阅读 · 0 评论 -
类和对象初识
类和对象初识1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的访问限定符及封装5.类的作用域6.类的实例化7.计算类的大小8.this指针1.面向过程和面向对象初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。2.类的引入C语言中,结构体中只能定义变量,所以基于以上C++引入了类,类是struct的升级版,多了封装性以及成员可以有函数。如下:#includ原创 2021-05-14 16:01:38 · 70 阅读 · 0 评论 -
引用、内联函数、auto、NULL和nullptr、extern“c“
引用概念:引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。就像给这块空间取了个新的别名,引用对比的是c中的指针。用法:类型& 引用变量名(对象名) = 引用实体;#include<iostream>using namespace std;void test(){ int a = 10; int& ra = a; printf("%p\n", &a); printf("%p\n原创 2021-05-12 17:08:44 · 226 阅读 · 0 评论 -
缺省参数和函数重载
缺省参数概念:缺省参数是声明或定义函数时为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。如下#include<iostream>using namespace std;void A(int a = 0) { cout << a << endl;}int main(){ A(); // 没有传参时,使用参数的默认值 A(10); // 传参时,使用指定的实参}结果如下:全缺省参数#inclu原创 2021-05-08 16:57:04 · 98 阅读 · 0 评论 -
C++入门从hello world!开始
运行环境(VS2013)#include<iostream>using namespace std;int main(){ cout << "hello world!" << endl; return 0;}这是一段将hello world!打印到显示屏上的C++代码。#include<iostream>//using namespace std;int main(){ cout << "hello world!" &原创 2021-05-08 15:12:47 · 180 阅读 · 0 评论