一天一篇Cpp
文章平均质量分 75
c雄
这个作者很懒,什么都没留下…
展开
-
【一天一篇CPP】派生类的构造函数和析构函数
1.基类的构造函数是不能继承的,在声明派生类时,派生类并没有把基类的构造函数继承过来,但是可以通过一种显式的声明来调用基类的构造函数。对于析构函数,系统会自动调用基类的析构函数,详细看下面的 “3注意点”。2.构造函数调用的例子:#include #include using namespace std;class Student{public: Student (in原创 2013-10-10 14:29:47 · 895 阅读 · 0 评论 -
【一天一篇CPP】对象与指针与数组 对象和const和指针和引用
1.对象和数组:对于Student::Student( int a )而言Student stud[3] = {60,70,80};表示分别让60,70,80作为三个数组元素对象的构造函数的参数。//编译系统只为每个对象的构造函数传递一个参数,避免歧义 易错例子: Student::Student(int = 1001, int = 18, int = 60),Student stud[原创 2013-09-24 22:10:31 · 584 阅读 · 0 评论 -
【一天一篇CPP】多态性和虚函数和虚析构函数和纯虚函数和抽象类
1. 什么是多态性?多态性是面向对象的一个重要特征。向不同的对象发送同一个消息,不同的对象在接收时会产生不同的行为【例如:上课了,学生上课,程序员在敲代码;下课了,学生下课,程序员还在敲代码。开玩笑的】。其实我们也接触了一些多态性的例子,例如函数的重载、运算符重载、模板等...从系统实现的角度,多态性分为两类:静态多态性【函数重载和运算符重载和模板属于这一类,静态多态性是编译时决定的,也叫原创 2013-10-12 13:42:34 · 780 阅读 · 0 评论 -
【一天一篇CPP】类模板
1.有时对类而言,两个或多个类,其功能是相同的,仅仅是数据类型不同。请看下面两个类:class Compare_int{public: Compare_int( int a, int b) {x = a; y = b;} int max(){return (x>y)? x : y;} int min(){return (x<y)? x : y;}private: int原创 2013-09-26 20:15:54 · 719 阅读 · 0 评论 -
【一天一篇CPP】继承和派生:基础知识和继承方式与访问属性
1.介绍:面向对象程序设计的4个特点:抽象、封装、继承、多态性。C++中的可重用性是通过继承这一机制来实现的。【父类派生出子类,子类继承于父类】。派生类是基类的具体化,基类是派生类的抽象。2.形式:在类的声明处class 派生类名 : [ 继承方式 ] 基类名{............//派生类新增加的成员};继承方式有:public(公用的),privat原创 2013-10-10 13:25:43 · 836 阅读 · 0 评论 -
【一天一篇CPP】inline、类的存储,简单的构造函数、析构函数
1.inline 须知:一般非类成员的函数inline声明即可,在类成员函数中,若为inline声明,成员函数声明和成员函数的定义必须放在同一个文件。2.类的大小:经过sizeof测试,得知:一般的数据成员【不论const还算mutable还是】都要计算,不论任何类型的函数都不计入内。3.对于大小比较小的类,尽量用指针或引用作为函数的参数,而不是一个使用形参副本,这样不用复制构造它。但假如原创 2013-09-24 17:34:14 · 679 阅读 · 1 评论 -
【一天一篇CPP】不同类型数据间的转换【转换构造函数、类型转换函数】
1.自动转换:int i = 6; i += 7.5;2.显式类型转换: (类型名) 数据 或 类型名 (数据) 【前者为C语言的方式】3.用转换构造函数进行类型转换 -> 将其他类型数据转换为类的对象。 如:Complex (double r){real = r; imag = 0;}使用方法: Complex c1(3.5); 合法 Comple原创 2013-09-27 13:47:08 · 683 阅读 · 0 评论 -
【一天一篇CPP】重载运算符的实例
1.重载双目运算符未重载版本#include using namespace std;class String{public: String() { p = NULL; } String(char *str) { p = str; } void display() { cout << p<< endl;}private: char *p;};int main()原创 2013-09-27 11:40:57 · 1042 阅读 · 0 评论 -
【一天一篇CPP】友元和类
1.一般友元函数【就像可访问私有成员的一般函数】:一个例子:#include using namespace std;class Time{public: Time( int, int, int); friend void display(Time &);//先声明,使一般函数display可以访问本类的私有成员private: int hour, minute,原创 2013-09-26 19:45:22 · 774 阅读 · 0 评论 -
【一天一篇CPP】基类与派生类的转换(单向:从派生类赋值给基类,舍弃一部分)
我们知道一般的赋值兼容,如double d, int i, int *ip; d = i 可以直接赋值, i = d 可以舍弃小数赋值,而 ip = 1024 则出现错误,要添加强制转换,如 ip = (int *) 1024,则不算赋值兼容。不同数据之间的自动转换和赋值,称为赋值兼容。1. 那么基类对象和派生类对象是否存在赋值兼容关系?存在,但是是单向的【从派生类赋原创 2013-10-12 10:35:27 · 828 阅读 · 0 评论 -
【一天一篇CPP】运算符重载--对部分CPP运算符重载
1.例子:">"也一样。【这个重载处理位于stream】2.运算符重载函数定义方法: 函数类型 operator 运算符名称( 形参列表 ) {..........对运算符的重载处理......}例如想用 ' + ' 运算符来处理 Complex 类(复数类)的加法运算,函数原型可以是这样的: Complex operator + (Complex &c1,Complex &c2原创 2013-09-26 21:46:18 · 1367 阅读 · 0 评论 -
【一天一篇CPP】多继承及其二义性(multiple inheritance,也叫多重继承,但不是多层继承)
1. 前面讨论的是单继承,就是一个子类只有一个直接父类。但有时一个派生类可由两个或多个基类,派生类从两个或多个基类中继承所需的属性。【例如一个学生,既是班干,又是社团部长】2. 形式: class D: public A, private B, protected C{ //D的成员}3.多重继承派生类的构造函数形式:D(int a, int b, int c):A(原创 2013-10-11 19:40:13 · 944 阅读 · 0 评论 -
【一天一篇CPP】C++的虚基类
一个派生类有多个直接基类,这些基类又有一个共同的基类,如图【画的很随便,就是B和C集成于A,Dji】原创 2013-10-11 21:00:49 · 988 阅读 · 0 评论 -
【一天一篇CPP】静态成员
1.静态数据成员的作用:它是类的不同对象的共享数据,它是全局变量的替代品!!一个例子:#include using namespace std;/*//错误初始化class Box{public: Box(int h) : height(h){} static int height;};*///正确初始化class Box{public: Box() {} B原创 2013-09-26 15:01:19 · 514 阅读 · 0 评论