
C++
文章平均质量分 79
northhero
这个作者很懒,什么都没留下…
展开
-
C++多继承的二义性
单继承 派生类只从一个基类派生多继承 派生类从多个基类派生多重派生 有一个基类派生出多个不同的派生类多层派生 派生类又作为基类,继续派生出新的类 多继承可以看作是单继承的扩展。所谓多继承是指派生类具有多个基类,派生类与每个基类之间的关系仍可看作是一个单继承。多继承下派生类的定义格式如下:class :,,…{转载 2009-09-06 20:28:00 · 679 阅读 · 0 评论 -
虚基类
当在多条继承路径上有一个公共的基类,在这些路径中的某几条汇合处,这个公共的基类就会产生多个实例(或多个副本),若只想保存这个基类的一个实例,可以将这个公共基类说明为虚基类. classx1:virtual public x { //…… }; classx2:virtual public x { //…… };虚基类的初始化转载 2009-09-06 22:42:00 · 487 阅读 · 0 评论 -
虚基类、虚函数,对象内存分布
在Project Properties->C++->Command Line->Additional Options里面加上/d1reportSingleClassLayoutDerived编译时,可输出类Derived的内存布局。 非虚拟继承:在派生类对象里,按照继承声明顺序依次分布基类对象,最后是派生类数据成员。若基类声明了虚函数,则基类对转载 2009-09-06 23:13:00 · 2111 阅读 · 0 评论 -
初始化const, static, const static, static const成员变量
class MyTestClass{public: MyTestClass() : m_ciInt(1), m_csStr("MyStr") // const成员变量,在ctor参数列表中初始化 {}public: const int m_ciInt; const String m_csStr; static int m_siInt;转载 2009-09-06 11:07:00 · 411 阅读 · 0 评论 -
指向数组的指针与多维数组
指针可以指向复合类型,上一节讲了指向指针的指针,这一节学习指向数组的指针。以下定义一个指向数组的指针,该数组有10个int元素:int (*a)[10];和上一节指针数组的定义int *a[10];相比,仅仅多了一个()括号。如何记住和区分这两种定义呢?我们可以认为[]比*有更高的优先级,如果a先和*结合则表示a是一个指针,如果a先和[]结合则表示a转载 2009-09-06 13:00:00 · 406 阅读 · 0 评论 -
const对象和const函数
当一个类的函数的参数表不同时,能重载函数, 当函数的const性不同时,也能重载函数。 如下所示: #include "a.h"//定义了CA类 class CBigClass { public: CBigClass(CA value):m_value(value)转载 2009-09-06 10:26:00 · 1623 阅读 · 0 评论 -
Const,Const函数,Const变量,函数后面的Const
看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程转载 2009-09-06 10:44:00 · 358 阅读 · 0 评论 -
C++输入输出流
C++ I/O操作(输入输出流)1.用getline()读取输入行当程序使用cin输入时,cin用空白符和行结束符将各个值分开。如根据所需输入的值,可能需要读取一整行文本(其中包括空白符),则用getline().getlint的功能是从输入流中读取多个字符,并且允许指定输入终止字符,读取完成后,从读取的内容中删除终止字符#includeusing namespace st转载 2009-09-21 23:30:00 · 1495 阅读 · 0 评论