摘要: 虚函数和多态性 使用基类指针,示例代码如下(从Box派生两个类) class Carton:public Box{ }; class ToughPack:public Box{ }; Carton aCarton(10.0,10.0,5.0); Box * pBox=& aCarton; ToughPack hardcase(12.0,8.0,4.0); pBox=&hardcase; 有如下语句:pBox()->volume; 此时如pBox包含的是Carton的对象地址,那么它指向的就是Carton对象的函数,同理... 阅读全文
posted @ 2012-09-20 23:36 retacn_yue 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 继承 1 类和面向对象编程 2 类的继承 继承和聚合 从基类中派生新类 头文件 Box.h示例代码如下: #ifndef BOX_H #define BOX_H class Box{ //构造器 public:Box(double lv=1.0,double wv=1.0,double hv=1.0); private: double length; double width; double height; }; #endif 实现文件Box.cpp如下: #include "box.h" Box:... 阅读全文
posted @ 2012-09-20 23:32 retacn_yue 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 运算符重载 1 为自已的类实现运算符 运算符重载 运算符重载允许把标准运算符(+-*/等)应用于定制数据类型的对像, 即编写一个函数,重新定义每个运算符,使之每次应用于类的对象时,就执行 指定的操作 示例代码如下(如果重新定义<运算符): orerator<(); 注:如果是字母运算符,要在关键字和运算符之间有一个空格 可以重载的运算符 不允许发明新运算符,不能修改优先级和操作个数 不能重载的运算符==========================================... 阅读全文
posted @ 2012-09-20 23:31 retacn_yue 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 多目标文件的链接示例代码如下:test18.cchar stack[512];int top=-1;void push(char c){stack[++top]=c;}char pop(){return stack[top--];}int is_empty(void){return top==-1;}test19.c#include <stdio.h>int a,b=1;int main(void){ push('a');push('b');push('c'); while(!is_empty()){putchar(pop());}p 阅读全文
posted @ 2012-09-20 23:30 retacn_yue 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 类的操作 1 类对象使用指针的三种情况: 一、使用指针成员访问运算符-> ,来调用函数 二、作为函数的参数 三、作为类的数据成员' 2 指针作为数据成员 示例代码如下: package类 包含两个数据成员一个是Box类,一个是指向package的指针 class Package{ //constructor 构造器 public : Package(Box* pBox) : theBox(*pBox),pNext(0){} //get 方法 Box getBox()... 阅读全文
posted @ 2012-09-20 23:20 retacn_yue 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 类 1 封装 继承 多态 2 类的定义: class Box{//定义常量 public: double length; double width; double height; //方法 double value(){ return length*width*height; } } 3 构造函数 示例代码如下: class Box{//定义常量 public: double length; double width; double height;//con... 阅读全文
posted @ 2012-09-20 23:20 retacn_yue 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 创建自已的数据类型 1 对像的概念 2 c++中的结构 定义结构类型 格式如下: struct Book{char title[80];char author[80]; char publisher[80]; int year; }; 声明结构类型的变量 struct Book paperback; 创建结构类型的对像(数组类似) Book novel={ "thinking in java", "yuezhenhua", "xinhua"; 2012 ... 阅读全文
posted @ 2012-09-20 23:18 retacn_yue 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 程序文件和预处理指令 1 程序文件 头文件:类型定义和其他用于程序中一个或多个源文件的代码 后缀名为:.h 源文件:要编译成机器指令的代码 后缀名为:.cpp .c .cxx 引入头文件 代码格式如下: #include<iostream> 名称的作用域 程序文件的连链接 确定名称的链接属性 内部链接属性 可以在同一个转换单元的任何地方访问 外部链接属性 同上,还可以在别外一个转换单元中访问 没有链接属性 只能在该名称的作用域中访问 外部名称 如果想访问当前转换单元外部的变量,代码... 阅读全文
posted @ 2012-09-20 23:14 retacn_yue 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 结构体 示例代码#include<stdio.h>int main(void){struct{ charo a; short b; int c; char d; }s;s.a=1;s.b=2; s.c=3; s.d=4;printf("%u\n",sizeof(s));return 0;} 编译:gcc test.c -o 反汇编:objdump test四个成员变量在栈上的排列80483ed: c6 44 24 14 01 movb $0x1,0x14(%esp)80483f2: 66 c7 44 24 16 02 00 movw $0... 阅读全文
posted @ 2012-09-20 22:26 retacn_yue 阅读(115) 评论(0) 推荐(0) 编辑
摘要: -----*----- 6 1 0 6----*-*---- 5 7 2 1 5 7---*-*-*--- 4 6 8 3 2 4 6 8--*-*-*-*-- 3 5 7 9 4 3 3 5 7 9-*-*-*-*-*- 2 4 6 8 10 5 4 2 4 6 8 10#include <stdio.h>int main(void){int r=6,c=12;int i,j,k;printf("start \n");for(i=1;i<r;i++){ for(j=1;j<r-i+1;j++){ printf... 阅读全文
posted @ 2012-09-20 21:50 retacn_yue 阅读(140) 评论(0) 推荐(0) 编辑