Antpedia LOGO WIKI资讯

C++之静态成员变量和静态成员函数学习总结(一)

上图的板子有最近买的,也有以前买的(stm32、esp8266、51、eps32、小熊派、合宙的cat1、树莓派3b+);说实话,这些板子买来,一直放在那里吃灰,后期自己的方向也不玩硬件开发板啥的;所以上面的板子都送给了公众号读者在校生,让这些板子发挥它们最大的价值,板子也会在最近慢慢一一送出去;赠人与玫瑰,手有余香!好了回归主题,今天继续分享c++的文章,学习还是不能落下,flag未完成,任务艰巨,好好学习。一、静态成员变量:平时我们在写类的时候,类中的成员变量,我们一般是通过对象名来访问public成员变量的,一般private(私有)的成员变量,对象是不能直接访问的;同时我们要明白每个对象的成员变量都是专属的,而且成员变量是不能在对象之间共享的,这就是专属性。下面我们来做一个小的程序需求来慢慢引出静态成员变量:统计在程序运行期间某个类的对象数目要保证该程序的安全性(不能使用全局变量)随时可以获取当前对象的数目代码版本一:#......阅读全文

C++之静态成员变量和静态成员函数学习总结(一)

上图的板子有最近买的,也有以前买的(stm32、esp8266、51、eps32、小熊派、合宙的cat1、树莓派3b+);说实话,这些板子买来,一直放在那里吃灰,后期自己的方向也不玩硬件开发板啥的;所以上面的板子都送给了公众号读者在校生,让这些板子发挥它们最大的价值,板子也会在最近慢慢一一送出去;赠

C++之静态成员变量和静态成员函数学习总结(二)

说明,这里静态成员变量不能使用初始化列表去初始化,这里要明白上面说的那句话:静态成员变量需要在类外单独分配空间,换句话说,就是只有在类的外部重新定义静态成员变量才可以存储到静态存储区。报错如下:root@txp-virtual-machine:/home/txp# g++ tes

C++之静态成员变量和静态成员函数学习总结(三)

3、静态成员函数 vs  普通成员函:静态成员函数普通成员函数所有对象共享YesYes隐含this指针NoYes访问普通成员变量(函数)NoYes访问静态成员变量(函数)YesYes通过类名直接调用YesNo通过对象名直接调用YesYes4、版本代码四:#include <std

C++之操作重载符学习总结(一)

一、完善的复数类:在上一篇文章里面我们已经提到了操作符重载的概念和使用,同时也举例了一个数学里面的复数操作,从一开始使用友元到使用操作符重载全局函数,再到使用操作符重载类成员函数,这样一步步演变而成我们最终实现了复数的实部加实部,虚部加虚部;而且当时我们只讲解了一个操作重载符“+”,所以为了完善学习

C++之字符串类学习总结(一)

一、回顾c语言对字符串的实现:一般我们在c语言要实现对字符串操作的话,一般是采用字符数组或者一组函数来实现的,为啥这样做呢,那是因为c语言里面根本就没有字符串类型的关键字;而且c语言也支持自定义类型,所以更加无法获得字符串类型。为了解决这个问题,在c++中,引入了自定义类型,而且可以通过类来完成对字

C++之操作符重载学习总结(一)

一、操作符重载:1、我们先来看一个问题实现,下面的复数解决方案是否可行,复数大家应该都不陌生(分为实部和虚部):代码版本一:运行结果:这里通过Add函数可以解决Complex对象相加的问题,但是在我们数学运算里面就是直接实部加实部,虚部加虚部,和正常的实数相加一样,所以说,为什么不直接这样操作呢,这

C++之操作重载符学习总结(二)

运行结果:上面设计到一些数学知识,比如复数的乘法和除法运算:乘法:(a+bi)(c+di)=(ac-bd)+(bc+ad)i除法:(a+bi)/(c+di)=(ac+bd)/cc+dd +(bc-ad)/cc +dd3、注意事项:C++规定赋值操作符"="只能重载为成员函数操作符重载不能改变原操作符

C++之操作符重载学习总结(二)

4、再次改进代码:可以将操作符重载函数定义成为类的成员函数(前面我们学过,友元现代软件开发不允许):比全局操作符重载函数少一个参数(左操作数,成员函数中隐藏的 this 参数可以充当左操作数的角色)不需要依赖友元就可以完成操作符重载编译器优先在成员函数中寻找操作符重载(一旦在成员函数中找到,就不会去

C++之字符串类学习总结(二)

三、字符串与数字的转换:标准库中提供了相关的类对字符串和数字进行转换字符串流类(sstream)用于string的转换相关头文件istringstream字符串输入流ostringstream字符串输出流1、方法使用string---数字数字---string代码示例:输出结果:2、字符串循环右移比

C++之继承中的构造和析构学习总结(一)

在我们前面学习过类中的构造函数,以及析构函数,那么自然而然,在继承关系中,必然是存在着析构和构造着。一、子类对象的构造1、问题的引出如何初始化父类成员?父类构造函数和子类构造函数有什么关系?2、子类中的构造函数怎样初始化父类成员:子类中也是可以定义构造函数的:--必须对继承而来的成员进行初始化,那么