摘要:
基类的自身成员可以对基类中任何一个其他成员进行访问,但是通过基类的对象,就只能访问该基类的公有成员。 由于继承所导致的原来具有不同访问属性的基类成员在派生类中的访问属性也有所不同,这里说的访问来自两个方面:一是派生类中的新增成员访问从基类继承的成员;二是在派生类外部(非类族内的成员),通过派生类的对 阅读全文
摘要:
1、在c++中,派生类的一般定义语法为: class 派生类名:继承方式 基类名1,继承方式 基类名2,...,继承方式 基类名n { 派生类成员声明; }; 定义一个Dr1从基类Base1、Base2派生而来的新类: class Dr1:public Base1,private Base2 { p 阅读全文
摘要:
在c语言中是使用字符型数组来存放字符串,c++程序中也仍然可以沿用这种方法;不仅如此,标准c++库中还预定义了string类。 1、用字符数组存储和处理字符串 a、字符数组的声明和引用 eg: #include<iostream> using namespace std; int main() { 阅读全文
摘要:
默认的拷贝构造函数并不总是适宜的,因为它完成的只是浅拷贝。 eg:对象的浅拷贝 #include<iostream> using namespace std; class Point { //类的定义 } class ArrayOfPoints { //类的定义 } int main() { int 阅读全文
摘要:
这种在程序运行过程中申请和释放的存储单元也称为堆对象,申请和释放过程过程一般称为建立和删除。 1、new运算和delete运算 运算符new的功能是动态分配内存,或者称为动态创建堆对象,语法形式为: new 类型名T(初值列表);//用于申请分配存放T类型数据的内存空间,并使用初值列表中给出的值进行 阅读全文
摘要:
this指针时一个隐含于每一个类的成员函数中的特殊指针(包括构造函数和析构函数),它用于指向正在被成员函数操作的对象。 this指针明确地指出了成员函数当前所操作的数据所属的对象。实际过程是,当通过一个对象调用成员函数时,系统先将该对象的地址赋给this指针,然后调用成员函数,成员函数对对象的数据成 阅读全文
摘要:
指针 动态内存分配和管理离不开指针。 1、内存空间的访问方式 在c++中程序如何利用内存单元存取数据?有两种方式:变量名和地址。 2、指针变量的声明 指针变量永不存放内存单元地址的。 声明的语法形式: 数据类型 *标识符; 所有指针的值都是默认是unsigned long int 型。 指针可以指向 阅读全文
摘要:
c++的数组类型为同类型对象的组织提供了一种有效的形式。 由于使用字符数组表示的字符串有不足之处,因此标准c++库中提供了string类,这是通过类库来扩展数据类型的一个很好的典范。 1、数组 数组是用于存储和处理大量同类型数据的数据结构。 数组是具有一定顺序关系的若干对象的集合体,组成数组的对象称 阅读全文
摘要:
多文件结构和编译预处理命令 1、c++程序的一般组织结构 通常一个项目至少划分为三个文件:类定义文件(*.h文件)、类实现文件(*.cpp文件)和类的使用文件(*.cpp,主函数文件)。如下: 这三个单独的源文件构成,他们的相互关系和编译、连接过程,如下 2、外部变量和外部函数 a、为了使变量除了在 阅读全文
摘要:
共享数据的保护 对于既需要共享、又需要防止改变的数据应该声明为常量。 1、常引用 如果在声明引用时用const修饰,被声明的引用就是常引用。常引用所引用的对象不能被更新。声明形式如下: const 类型说明符 &引用名; 2、常对象 常对象时这样的对象,它的数据成员值在对象的整个生存期间内不能被改变 阅读全文