![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++语言
学分
apprentice of CS
展开
-
C++ 类与对象、this指针
//笔者准备换一本教材重看看cpp,捞一下以前不成熟的水文//我们先谈谈别的东西面向对象的程序设计将数据和数据处理的过程当成一个整体——类和对象,并且具有以下三种特性,封装性,继承性和多态性。我们先用通俗的语言gang一gang这三个性质:封装性,比如你要买一台计算机,需要插入一个光驱的话,你直接插入就是了,而不用管这个光驱内部是什么结构,能用就对了,英文叫Encapsulation。...原创 2018-08-24 17:35:36 · 502 阅读 · 0 评论 -
C++ 友元、访问器与修改器
在类里,我们更倾向于更多使用private类型来实现封装性,但有的时候,我们必须访问类里的一些数据,也许还会做出修改,如果因为这样我们就把private改成了public参数类型,那么封装性就不太好了。一个可取的(feasible)做法是数据限定为private,并且提供public成员函数对其进行操作,这样的成员函数我们就称为访问器和修改器,我们一般把访问器取名为getXX(),修改器取名为...原创 2018-08-25 15:55:17 · 1555 阅读 · 0 评论 -
C++ 句柄类
C++中的访问控制允许类的实现和类的接口分开,使得客户程序不能轻易访问私有实现部分,但是实现部分的隐藏不彻底,可能导致一些问题。1)头文件的成员声明可能暴露信息,可能会有恶意访问,恶意篡改,存在安全隐患2)在设计初期,实现部分经常需要改动,就连头文件类的私有成员声明也时不时需要修改。这意味着程序员不论何时修改了一个类,都将重新编译包含了该头文件的所有文件,可能还要修改接口,增加不必要的编译...原创 2018-09-01 16:17:51 · 1746 阅读 · 0 评论 -
C++ ADT-基本语言定义下的抽象数据类型(非正经)(以栈为例)
面向对象系统由一组交互的对象构成,每个对象都有自己的属性与行为,这些对象通过相互之间的信息传递实现系统功能。对象所属的类型被称为类,类是对于一组具有相同属性和行为的对象的抽象。本文初探C++的类和对象。 ...原创 2018-08-23 14:07:52 · 4138 阅读 · 0 评论 -
C++ 类的初探-扩展了的结构体
C++扩展了结构体的概念,使之可以包含函数作为结构成员,作为成员函数,结构体的数据成为数据成员,而这样的结构体被称为类,我们对我在上一篇c++的文章中实现的功能进行优化,把我的代码呈现如下:#include <iostream>using namespace std;const int max_len = 1000; //栈的最大容量const in...原创 2018-08-24 12:05:23 · 666 阅读 · 0 评论 -
C++杂谈
在我拿到的老书里面夹了某个学姐对c++的一个总结,如果有缘,她也许能看到这篇我码在网上的水文。 1.c or c++程序经过编译后生成目标文件(.obj)在经过连接后,生成可执行文件(.exe),从而运行。2.c++里面仅有一个main函数,程序总是从main函数开始执行的。3.标识符的取名也有点讲究4.基本数据类型:...,bool(逻辑型)5.转义字符\n \t \o(...原创 2018-10-05 11:08:41 · 197 阅读 · 0 评论 -
C++ 内联函数与重载函数、传引用简介
数电老师布置了一个选做的作业(哎,在我们班感觉,选做的加分作业也是必做的作业),时间限制没有讲,就是分析一个开源的软件的c++源代码,有点头疼,于是需要继续补C++了。函数调用的时候,系统首先保存主调函数的相关信息,再将控制转入被调函数,这些操作增加了程序的时间开销。C++的内联函数形式可以减少函数调用的额外开销,一些常用的短小的函数适合用内联函数的形式。举个例子来说,#includ...原创 2018-10-15 22:00:49 · 213 阅读 · 0 评论 -
C语言位运算
最近上计算机系统cs213,这周的作业就需要用到很多奇奇怪怪的位运算,我觉得真的很难啊...所以补一下相关知识。首先,我们都知道三个逻辑运算符,&&代表逻辑与,||代表逻辑或,!代表单目逻辑非。(Plus,如果对一个数字进行两次单目逻辑非,得到的是其逻辑值)int a=10,b=0;cout<<"We use 1 to denote truth and...原创 2018-10-22 09:00:45 · 1616 阅读 · 0 评论 -
C++ 名字空间
C++是一个坑,慢慢填吧。有人问:using namespace std是什么意思啊?关于命名空间可以简单理解成:全世界的编程人员,在给对象命名时,一般都会用一些单词的简写之类,所以很有可能出现不同的功能却有相同的名称。以前的老方法是大家给自己的每一个对象都加上一个独有的前缀,例如:mylib_cout 之类,但这样在使用和修改时都很不方便,所以C++提供了命名空间解决该问题。形象一点...原创 2018-10-20 22:51:26 · 214 阅读 · 0 评论