- 博客(12)
- 收藏
- 关注
原创 C++——类与对象(下)
比如下面Time类和Date类,在Time类中声明Date类为其友元类,那么可以在Date类中直 接访问Time类的私有成员变量,但想在Time类中访问Date类中私有的成员变量则不行。静态成员变量和静态成员函数,可以认为本质是受限制的全局变量和全局函数。内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去访问内部类的成员。在传参和传返回值的过程中,一般编译器会做一些优化,减少对象的拷贝,这个在一些场景下还是非常有用的。,参见友元类的定义,内部类可以通过外部类的对象参数来访问外部类中的所有成员。
2024-01-09 18:58:48
1523
原创 C++——类与对象(中)
6、关于编译器生成的默认成员函数,可能会有疑惑:不实现构造函数的情况下,编译器会生成默认的构造函数。看看下面的程序,就会发现。如果内置类型声明给了缺省值,但是自己也写了构造函数,肯定就是调自己写的构造函数了,因为前面第5点已经说了:如果类中没有显式定义构造函数,则C++编译器会自动生成一个无参的默认构造函数,一旦用户显式定义编译器将不再生成。以上代码,编译没有通过,原因是:Print()含有隐含的this指针,Date* this,而&d1是const Date*类型,这里是一个权限放大的问题。
2024-01-09 18:12:39
1216
原创 Linux——权限的理解
原因主要是:当一个用户访问执行这个文件时,不是先看"-rw-rwxr-x"这一堆东西,一定是要先判断执行a.out的这个人是属于拥有者,还是所属组,还是其他用户(先确认你是否是拥有者),当判断是文件的拥有者之后,就只会看文件的拥有者权限,然后你没有可执行权限,你就不能执行。首先在Linux系统当中,可执行程序所占的比例一定不高,只有一些必须用可执行程序的文件给它加上可执行权限x,不需要的就不加,需要的时候由用户自己去加或者由对应的生成软件自己去加。只有root,以超级用户的身份,才能进去。
2024-01-01 18:18:12
1401
原创 Linux基本指令3
a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。当然,如果没有不相邻的重复行,可以 uniq 单独使用,但是为了避免结果出现不准确性,尽量结合起来使用。: 用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。which命令是我们给出想要查的命令,它帮我查这个命令的路径,不需要我们给出路径。不同的压缩包,可能需要不同的命令,需要使用时,可以使用搜索引擎,搜索相关用法。
2023-11-17 21:49:18
35
原创 C++——类与对象(上)
classclassName//类体:由成员函数和成员变量组成//一定要注意后面的分号class为定义类的关键字,className为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。类的两种定义方式:1、声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。
2023-11-13 11:14:40
31
原创 Linux基本指令2
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的开头至标准输出中,而 tail 想当然尔就是看档案的结尾。不同的设备,都有读写方法,但是实现方式可能不一样,Linux想把所有的设备,包括文件,以一种统一的思想,来解决或者认识Linux系统下的所有文件,即。其一,这样的做法需要生成临时文件;
2023-11-05 22:44:39
33
原创 C++入门——函数重载、引用、内联函数、auto关键字(C++11)、基于范围的for循环(C++11)、指针空值nullptr(C++11)
auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。int b = a;auto c = a;//引用f++;//auto g;//无法通过编译,使用auto定义变量时必须对其进行初始化//打印一个对象的类型return 0;auto定义对象时,类型较长,用它比较方便。注意使用auto定义变量时必须对其进行初始化。
2023-11-01 23:56:14
68
1
原创 Linux基本指令1
windows中,其实虽然有桌面概念,但是本质桌面也是目录/文件夹,只不过当用户登陆的时候,你的家目录里面有桌面的文件夹,windows把这个文件夹中的所有文件(夹),以图标的形式,展现在显示器上,就有了桌面。Linux系统对于小白用户是不太友好的,但是各种商业化发行版的Linux可能要服务好自己的用户,可能有一部分准程序员,所以很多商业化发行版的Linux,也慢慢的有了自己的图形界面了,比如ubuntu,centos。的,只是形式上的不同,形式上的不同主要是对小白区别大,使得小白更容易使用。
2023-10-28 21:01:46
52
1
原创 C++入门——关键字、命名空间、缺省参数
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。1、正常的命名空间定义//1、正常的命名空间定义//命名空间中可以定义变量、函数、类型int val;int main()//注意这里struct和lxy的位置//因为并不是struct在lxy里面,是Node在lxy里面return 0;2、命名空间可以嵌套。
2023-10-21 21:11:55
61
原创 初识C语言
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。前面已经提到#define定义常量了。#define MAX 1000//define定义标识符常量。
2023-04-18 11:20:26
68
原创 我的第一篇博客(学习编程)
我的空闲时间基本在晚上和周末,除了上课时间,平常每天至少两个小时学习编程知识和实战,周末可以花更多时间学习。学习之余,还是要注重休息与放松,可以多看看自己喜欢的书,去旅游,去看看风景,和伙伴一起吃顿好的。以后,我也会分享我学习到的编程知识,学习编程的小伙伴们,大家一起加油啊!一个人一生中有学不完的知识和技能,技术也是在不断的发展和改变,在学习这条路上,总会有坑坑洼洼,我们学习编程,一定要保持学习的态度,克服困难,提高自己的学习效率,使自己的能力更强。4、我自己的学习分配时间。
2023-04-03 20:47:06
63
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人