• 网络学院
  • 新手学堂
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
面向对象及C++基础知识
广告位
  站点:
  • 首 页
  • 最新软件
  • 最新文章
  • 国内软件
  • 国外软件
  • 汉化软件
  • 源码下载
  • 字体下载
面向对象及C++基础知识
软件发布 面向对象及C++基础知识
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回首页 | 文章首页 | 认证考试 | 程序员 | 面向对象及C++基础知识

面向对象及C++基础知识

 

添加时间: 2007-4-9 1:54:46  作者: 程序员认证参考  阅读次数:65   来源: http://www.d9soft.com

 

 

       

课程内容:
  1、 面向对象程序设计基础知识(识记)
  2、 基本程序结构(综合应用)
  3、 类型修饰符(领会)
  4、 函数原型(综合应用)
  5、 内联函数(综合应用)
  6、 引用(综合应用)
  7、 动态内存分配(简单应用)
  8、 编译指令(领会)
  9、 改变习惯重新思考(识记)

1.1 面向对象程序设计基础知识:
  程序语言:本身实际上是对一个现实问题的描述;其发展的根本问题在于如何更加接近人的自然思维。(机器->汇编->高级语言;面向过程->面向对象)
  面向对象:
     一种软件方法(方法学),而不仅仅限于程序设计语言,更重要的是如何看待世界。
     基本 思想 :从现实世界中客观存在的事务(对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式。
  面向对象程序设计语言:
      定义:机器实现的定义。
         数据和操作在一起,内存块可以复制副本
         对象间通过函数调用实现通信;对象的继承
      关键要素:
        抽象:忽略事物的非本质特性,只注意与当前目标有关的本质特征,从而找出事物的共性;把具有共同性质的事物划为一类,得到一个抽象的概念。
        封装:将一组数据和与这组数据有关的操作集合组装在一起,形成一个能动的实体,也就是对象。(意义:对象集中而完整的描述并对应一个具体的事物,封装的信息隐蔽作用反映了事物的相对独立性;减少“波动效应”。副作用:增加了许多只负责读写的服务。)
        继承:特殊类的对象拥有其一般类的对象的全部属性与服务,称作特殊类对一般类的继承。
        多态:一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。(目前不要求OOPL支持)
   C++语言的来龙去脉:对C语言进行面向对象的扩展。一种混合型OOPL。
 C语言的一个超集,语法基本使用C的语法,引入了新的概念支持OO的特性

1? C++基本程序结构:讨论C++对C的一些改进
 风格:
   1) 输入输出:cin和cout代替printf, iostream.h代替stdio.h,更加方便。
   2) 注释:“//”的引入
   3) 使用const(代替无参数宏)和内联函数(代替有参数宏)代替宏定义
   4) 函数原型(更强的编译时刻的 检查 )和缺省参数(方便函数调用、减少错误)
   5) 新的动态内存分配函数new/delete:使用上更加简单
   6) 新的换行符 — endl
 内联函数inline:
  1) 不是用函数调用的机制,编译遇到时简单的替换而已,省去了函数调用的额外开销
  2) 使用宏定义的副作用:
 # define f  (x)  (x+1); 在后面使用 f(1)展开成:(x)  (x+1) (1),报编译错,但容易发现
 参数中有表达式:
        # define floor(x,b) x>=b?0:1,
        调用:if(floor(a&0x0f,0x07)) // ...
        展开成:if (a&0x0f>0x07?0:1)... ;&优先级低于>,产生错误。
        难发现,好解决――加括号
 #define band(x) (((x)>5 && (x)<10) ? (x) : 0)
       下面的执行结果如何?
        for(int i = 4; i < 11; i++) {
           int a = i;
           out << "a = " << a << endl << ' ';
           out << "band(++a)=" << band(++a) << endl;
           out << " a = " << a << endl; }
 展开后会影响到a的值(++a)。
 这一点和函数调用不同(函数一般传值)。
 宏没有作用域的问题
 引用:
   1) 使引用和原来定义的变量一样无区别的操作内存的某一空间。
   2) 最主要用途:建立函数参数传递的引用传递方式,不必使用指针;另一个用途:返回引用的函数,用于赋值运算符的左边。
   3) 两种情况下引用的是临时变量:对常量(或const修饰的变量)的引用;引用类型和初始化时使用的变量类型不一致。
   4) 定义返回引用了函数时,不要返回局部变量的引用。
 编译指令:不是C++的一部分,提供给编译器使用
   1) 嵌入指令:# include / # include “filename”
   2) 宏定义:# define 宏名 替换正文
   3) 条件编译指令:# if, # else, # endif, #defined

1.3 改变习惯重新思考
 C++不仅仅是在语法上对C的扩展,改变的是整个程序设计的方式和思路
 几个掌握C++新特性的途径(目前)
 
1.4 辅导教材
这部分内容主要是最基本的C语言和C++的知识。
 头文件和预处理指令:
    # include <文件名.扩展名>
    # include “文件名.扩展名”
    # ifndef:为了防止宏的重复定义
 数据和表达式:
 词法符号
关键字:C++的保留字,具有自己确定的意义;不能被重新定义为标识符。
标识符:用作变量名、函数名、类型名。规则:以字母或下划线开头,后面可跟数字、下划线及大小写字母。长度限制由具体编译器决定。
标点:语法要求,无实际意义。
 基本数据类型:
      基本类型:char、int、float、double、void
      修饰符:signed/unsighed、short/long
      常量:整常量(十进制、八进制:0开始、十六进制:0x开始)、浮点常量(double,可以强制转换为float:最后加F)、字符常量(包括C++预定义的转义序列)
     字符串:用双引号括起来的字符序列。只用空格隔开的两个串表示一个。
     枚举类型:enum 枚举标记 {枚举常量,枚举常量,……}
 简单变量的说明和初始化:数据类型 变量名1,变量名2,……,变量名n;
     存储类:
     四种存储类:auto、register、static、extern
     两种修饰符:const、volatile
 运算符及优先级
 赋值及运算顺序
 语句:
   表达式语句、空语句、块语句
   选择语句
   循环语句
   转移语句
   return语句

数组:
   一维数组: 数组元素类型  数组名[数组大小]
   多维数组:数组的数组
 指针:
 声明:type * name;
 使用:int * pointer;
        pointer:指针,保存一个地址
       *pointer:指针指向的内容
        pointer = &I (int I)
        &(*pointer),*(&var)
 运算:对地址的运算
 指针和数组:元素为指针的数组和指向数组的指针
       引用:产生一个变量的别名
       说明: 类型 & 引用名 = 引用变量
       引用参数:函数参数的传递方式
       返回引用的函数:将函数用于赋值的左边
       void类型指针:可以指向任一类型的C++对象,避免设计指针类型匹配的错误。将void类型的指针置给其它类型的指针时,必须使用强制类型转换。
 指针和const关键字:
     const int *p;  int const *p
 类型定义:      typedef 类型名 新名(如:typedef int INTEGER)
 串:            以’’结尾的字符数组。
 可以声明为数组或者指针:
    char * str = “new string”;   char[] str = “new string”;
 字符串操作函数:string.h
   char *strcat( char *strDestination, const char *strSource );
   char *strcpy( char *strDestination, const char *strSource );
  int strcmp( const char *string1, const char *string2 );

 

 

 

上下文章:

 

上一篇文章: 程序员指导:复旦C语言上机资料 下一篇文章: C++箴言:将强制转型减到最少

相关文章:

  • ORACLE认证基础:ORACLE系统概述
  • Oracle认证基本知识介绍
  • Oracle认证基本知识的介绍
  • Oracle中常用SQL语法和数据对象
  • 新手必须了解的oracle入门知识

相关软件:

  • 2006年度巨献电脑知识及技巧大合集 EXE格式
  • 韩语轻松学--基础韩语 V2.0
  • UU Point 优优知识库 V1.0.0
  • 婴幼儿护理知识育儿知识 V1.35
  • JSP基础(PDF)
  • Flash MX基础教程 v2.0.0(HTML)

 

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

认证考试分类导航

  • 微软认证
  • 计算机等级考试
  • 软件水平考试
  • 思科认证
  • Oracle认证
  • Linux认证
  • JAVA认证
  • 网络工程师
  • 系统工程师
  • 程序员

本类经典文章推荐

  • 软考系统分析师考试须知
  • C++箴言:绝不在构造或析构期调用...
  • 数据结构:判别是否为二叉排序树的...
  • 一个程序员的成长的六个阶段
  • 程序员英语试题常见硬件名和设备名
  • 从一个程序出发详细研究DataReader
  • 如何判断程序处于运行环境还是调试...
  • 程序高手必读:写好C程序的10条秘...
  • 程序员介绍:程序员的“素质”是什...
  • C++箴言:让=返回一个*this的引用

程序员阅读排行

  • 数据结构:判别是否为二叉排序树的...
  • VC++动态链接库(DLL)编程深入浅出...
  • VC++动态链接库(DLL)编程深入浅出...
  • 程序员考试:证书样本
  • 补码加、减运算规则及溢出判断
  • 数据结构:栈和递归求两顶点所有简...
  • 水滴石穿·C语言之代码检查工...
  • DirectX8.0简介(3)
  • 数据结构:打印线索二叉树的中序遍...
  • DirectX8.0简介(8)

认证考试阅读总排行

  • 全国计算机等级考试一级模拟试题01
  • 全国计算机等级考试一级模拟试题10
  • 全国计算机等级考试一级模拟试题08
  • MCSD简介
  • 全国计算机等级考试一级考试最新模...
  • 全国计算机等级考试一级模拟试题07
  • 全国计算机等级考试一级模拟试题02
  • 全国计算机等级考试一级模拟试题06
  • 全国计算机等级考试一级模拟试题03
  • 一级(WINDOWS)试题解析-Word篇

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有