摘要:
C++ 虚继承和虚继承 虚继承是在多继承中为了解决冲突而技术。学术一点来说,是指一个指定的基类,在继承体系结构中,将其成员数据实例共享给也从这个基类直接或间接派生的其他类。 虚继承非常有用,可以避免多继承的歧义和多重拷贝。 为什么需要虚继承? 考虑有如下继承结构。 B和C继承A,D多继承B、C,我们 阅读全文
摘要:
C++ 动态联编和静态联编 ==本文较长,非常详细,主要关于动态联编、静态联编和虚函数。建议前置阅读== "如何理解基类和派生类的关系" 当你写了一个函数,程序运行时,编译器会如何执行你的函数呢? 什么是联编? 你会认为这个问题很弱智,代码怎么写的编译器就怎么执行呗?这对于C语言来说是成立的,因为每 阅读全文
摘要:
x86汇编利用int 16h中断实现伪多线程输入 我们都知道,如果想让一个程序,同时又干这个,又干那个,最好的办法就是多线程。这个在高级语言里面已经用烂了。 但是,DOS是只有单线程的。我如果想让程序在运行的同时,又能接受我键盘的输入,那要怎么办呢? 例如,我有一个DOS彩票开奖软件。屏幕上有十个数 阅读全文
摘要:
如何理解基类和派生类的关系 在开讲之前,我们先看基类和派生类的定义。为了方便显示,我把方法的声明和定义写在了一起。 基类 派生类 诶,看到这里有人问了。我这个指针和引用不是都针对的是派生类吗?为什么会输出"I am a person"呢?这明明是基类的方法啊?(这里为了举例,特地没有采用虚函数的方式 阅读全文
摘要:
C++拷贝构造函数详解 简介 拷贝构造函数是C++独有的 一种特殊的构造函数 ,以同型对象初始化自我对象。 拷贝构造函数是一种特殊的构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。当定义一个新对象并用一个同类型的对象对它进行初始化时,将显示使用拷贝构造函数。当该类型的对象传递 阅读全文
摘要:
继承引出的对构造方法的要求 构造方法是类的一个特殊成员,它会在实例化对象时被自动调用。 我们无法使用对象来调用构造函数,因为在构造函数构造出对象之前,对象是不存在的。 因此构造函数被用来创建对象,而不能通过对象来调用。 那么我们都知道继承,继承由于派生类继承基类内成员(无法继承构造方法,继承了私有成 阅读全文
摘要:
C++判断输入是否为double 之前写过了Python如何判断输入字符串是否为数字,但是Python是弱类型语言,相比之下C++这种强类型语言判定难度更大。 "Python判断输入字符串是否为数字的方法" 例如,我要把不断输入的字符串中数字都转为double类型,别的都保存为字符串。那么我接收输入 阅读全文
摘要:
Java toString解析 我们知道,Java所有的类都是Object类的派生类,toString就是Object类中的一个方法。 我们看看它的源代码。 可以看见,toString方法返回的是一个字符串。该字符串由 类名+ "@" + 此对象的哈希码(无符号16进制) 。 当我们没有重写Obje 阅读全文
摘要:
C++头文件中的模板类 这已经是我的第三篇关于头文件的博客了,没想到我还是踩了个巨坑。 大家都知道要在头文件里声明类成员,在源文件中实现。 但是今天写数据结构作业,在头文件(Stack.h)定义了一个栈的模板类,在源文件(Stack.cpp)实现了相应的功能。但是编译死活不过,怎么改怎么过不了。 结 阅读全文
摘要:
Java static修饰符 static修饰符是静态修饰符,大家写Java第一次接触static就是主函数中的pubic static void main的声明了。 那么static有什么用?本文来详细说说。 static成员与普通成员的区别 static表示 全局 或 静态 的意思,用来修饰类的 阅读全文