C++
加油吧菜鸟
Hello,everyone,welcome to my blog!
展开
-
对象指针
知识点:1、对象指针就是指向对象的指针定义: Sample *MyPointer;对象成员可以通过指向对象的指针来引用,引用数据成员的具体形式如下:1)指向对象的指针->数据成员名 2)(*指向对象的指针).数据成员名引用函数成员的具体形式如下:1)指向对象的指针->函数成员名(实参表) 2)(*指向对象的指针)->函数成员名(实参表)2、原创 2016-12-23 20:27:15 · 483 阅读 · 0 评论 -
构造函数
构造函数的作用: 一种特殊的初始化函数(在对象创建时被自动调用的一种函数),利用特定的值来初始化对象的数据成员。 构造函数的特点: 1、构造函数与类名相同,且没有返回值,不能指定函数类型 2、构造函数必须具有共有属性,但不能像其他成员函数那样显示的调用,它是在定义对象的同时被系统自动调用的 3、构造函数是特殊的成员函数,函数体可以写在类体内,也可以写在类体外原创 2016-12-21 00:45:22 · 828 阅读 · 0 评论 -
多态性与虚函数
1、多态性 多态性在C++中表现为统一形式的函数调用,可能调用不同的函数实现1.1 编译时的多态性 对于一些函数的调用,如果编译器在编译时就可以确定索要调用函数是哪一个具体实现,这种多态性称为编译时多态性,也成为静态多态性 C++可以通过重载(函数重载或运算符重载)来实现编译时的多态性。1.2 运行时的多态性 当函数的调用在编译时无法得知所调用的函数是哪一个实现是,需原创 2016-12-28 21:34:11 · 355 阅读 · 0 评论 -
虚基类
1、含义 不能实例化对象的类,称为虚类或抽象类,这种虚类一般用作基类,所以又称为虚基类。2、声明// 从两个虚基类多重派生子类class Derived:virtual public base1, virtual base2{}; 3、虚基类初始化时构造函数的调用顺序 3.1 同一层派生中包含多个虚基类时,虚基类的构造函数按照派生时声明的顺序先后调用;3.2 如某虚基类是由实基类派生而来,则原创 2016-12-27 22:25:28 · 992 阅读 · 0 评论 -
多重继承
1、多重继承引用格式:class circle:public circle1, public circle2 /* 类circle继承了circle1和circle2*/若省略了派生存取说明符如上述中的public,则为私有派生。2、多重继承容易产生模糊性,在引用时应注意。因此在设计时务必正确和严谨,能用单一继承时尽量不用多重继承。代码示例:// 多重继承.cpp : 定义控制台应用程序的入口点。原创 2016-12-27 21:43:23 · 216 阅读 · 0 评论 -
派生类的构造函数与析构函数
直接上代码:class Point{ int x, y;public: Point(int a, int b) // 基类的构造函数 { x = a; y = b; cout << "Constructing Point class\n"; } ~Point(void) // 基类的析构函数原创 2016-12-27 00:25:56 · 260 阅读 · 0 评论 -
继承与派生
知识点: 1、通过继承可以自动地为一个类提供来自另一个类的成员函数和数据成员。 2、派生类的声明必须遵循3个原则 1)C++允许从一个类或多个类中派生一个类出来,派生类继承基类的所有成员; 2)派生类可以改变继承过来的成员的访问权限,方法是在基类的声明前加上存取说明符 3)合法的存取说明符是public、protected和private。3、私有派生、保护派生与共有派生 3.1私有派生原创 2016-12-26 23:20:57 · 689 阅读 · 0 评论 -
类与对象
1、类 类成员的3种不同的权限:公有(public)成员可以在类外访问;私有(private)成员只能被类的成员函数访问;保护(protected)成员只能被类的成员函数或派生类的成员函数访问。 类定义本身不占用存储空间,只有在定义了属于类的对象后,系统才会为该对象分配存储空间。所以在类的定义时不能给数据成员赋值。2、对象 用类定义的变量,就是属于该类的对象。对象所占据的内存空间只用于存储数据原创 2016-12-21 00:31:47 · 294 阅读 · 0 评论 -
重载
1、函数重载 描述了同名函数具有相同功能,但参数的个数或类型不同的函数管理机制。2、运算符重载 运算符重载是指用同一个运算符完成不同的运算的操作。在C++这类面向对象的程序设计语言中,运算符重载可以完成两个对象的复杂操作。 代码示例:// 重载与模板.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using nam原创 2016-12-26 20:11:24 · 395 阅读 · 0 评论 -
友元
1、定义 友元函数是类定义中由关键字friend修饰的非成员函数。友元函数可以是一个普通函数,也可以是其他类的成员函数,它不是本类的成员函数,但是在它的函数体中可以通过“对象.成员名”访问类的私有成员和保护成员。 代码示例:// 友元.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace st原创 2016-12-25 23:08:44 · 343 阅读 · 0 评论 -
常对象与常成员
1、常对象与常成员函数 1)定义对象时被const修饰的对象,常对象的数据成员的值在对象的整个生存期内都不能被改变。 2)在定义常对象时必须进行初始化,而且不能被更新,如: const classA objectA(20); 其中,objectA是类classA的一个常对象,20是传给它的构造函数的参数 3)常成员函数 在C++中,常对象只能调用常成员函数,而常成员函数只能读类数据成员,原创 2016-12-24 16:55:24 · 1092 阅读 · 0 评论 -
C与C++中的static
1、C中的static1)被static修饰的局部变量只会被初始化一次,每次调用时都会保持上一次的值2)被static的全局变量只能在本文件内的函数调用,即作用域仅在本文件内3)被static修饰的函数只能被本文件内的其他函数调用2、C++中的static2.1 静态数据成员1)类中被static修饰的数据成员或函数成员被类的所有对象共享2)静态数据成员在内存中原创 2016-12-23 21:29:26 · 332 阅读 · 0 评论 -
复制构造函数
/************************************************************** 复制构造函数:在建立对象时可用同一类的另一个对象来初始化该对象,这时调用的构造函数为复制构造函数由于同一类的对象在内存中具有完全相同的结构,所以作为一个整体进行复制是完全可行的,这个复制过程只需要复制数据成员,而成员函数是共用的。复制构造函数的作用是使用一个已存在的对象去原创 2016-12-21 01:01:51 · 511 阅读 · 0 评论