C++非面向对象的特征

转载 2006年06月15日 11:40:00

     
                  
C++非面向对象的特征
1.注释行
在C语言中,我们用“/*……*/”进行注释,如/*This is a test*/
在C++中,保留了这种注释方式,但是C++中新加入了一种更有效的注释方式,该注释以“//”开头,直到行尾。“//”用在单行注释特别合适。如:
x=y+z; // This is a comment
2.新的I/O流
在C中如果用下面的输入方式就会出错,C编译器检查不出这种错误。如scanf(“%f”,i)。
C++采用了更方便更安全的I/O方式,即用”cin>>”进行输入,用”cout<<”进行输出。
例如:
int I;
cin>>i;
cout<<I;
这种方式可以连续进行输入输出,例如:
cin>>I>>j>>k;
cout<<I<<j<<k;
还可以输出表达式如:
cout<<a+b+c;
3.灵活的变量说明
C++可以在代码中的任何地方说明局部变量,它所说明的变量从其说明点到该变量所在的最小分程序末的范围内有效。
4 Const 修饰符
在C中用#define来定义常量,如:#define LIMIT 100;
C++用一种更灵活安全的方法来定义常量,即用const修饰符来定义常量,如:
const int LIMIT=100;
const可以与指针一起使用,他们的组合可归纳为三种:
(1)指向常量的指针
指向常量的指针是一个指向常量的指针变量如: const char *name=”chen”;
含义为:声明一个名为name的指针变量,他指向一个字符型常量,初始化为“chen”,从名字可以看出指针指的 是一个常量,所以不能改变常量的值,如:name[3]=’a’; 是错误的。但是只要指针指向的是常量就行,即:可以把指针指向别的常量,如:name=”zhang ”。
(2)常指针
常指针是把指针声明为常量,如:char *const name=”chen”;
含义是:声明一个名为name的指针,该指针是指向字符型数据的常指针,用“chen”初始化。
常指针不能移动,但可以改变它所指的数据,如:
name[3]=’a’; //合法,
name=”zhang ”; //非法
(3)指向常量的常指针
声明为:const char *const name=”chen”;
它是(!)(2)的综合,如:
name[3]=’a’; //非法
nane=”zhang” //非法

5. 内置函数
在函数说明之前,冠以关键之inline,改函数就被说明为内置函数。当程序中出现对该函数的调用时,C++编译器使用函数体中的代码替代函数调用表达式,这样能加快代码的执行,减小调用开销;消除#vdefine 的不安全因素。如:
#include<iostream.h>
inline float circle(floar r)
{return 3.1416*r*r;}

int main()
{
for(int I=1;I<=3;I++)
cout<<I<<circle(i)<<endl;
return 0;}
运行结果为:
1 3.1416
2 12.5664
3 28.4401
6. 带缺省参数的函数
C++在说明函数原型时,可为一个或多个参数指定缺省参数值,调用时,若省略其中某一参数,会自动地以却僧参数作为相应地参数值。如:
int special(int x=5,float=3);
以下调用参数为:
special(100,34.4); //x=100,y=34.4
special(25); //x=25,y=3
special(); //x=100,y=3

7.new和delete
C语言用函数malloc()和free()动态地分配内存和释放内存。C++用new和delete更好地分配和释放内存。
使用方法为:p=new type; delete p;
其中type是一数据类型名,如int;new 分配一块大小为sizeof(type)字节地内存,首地址存于指针p中。delete释放内存。
New和delete的优点:
(1) new可以自动计算所要分配地内存大小。
(2) new能自动返回正确地指针类型,不必进行类型转换。
(3) 可以用new将分配地对象初始化。
(4) new和delete可以被重载。

8.引用的使用
在C中用指针传递参数地址,但是,指针的使用非常复杂,容易出错。C++采用了引用的概念,它是一种间接的指针。引用可为变量起别名,主要用于参数传递和做函数的返回类型。
1.引用的定义
引用定义的关键字是“type &”,含义是定义一个type类的引用,此引用可与type类对象或变量的地址相联系。如:
int I=5;
int &j=I;
含义是:创建一个整型引用,j是I的别名,它们公用一个内存地址。
说明:
(1) double & rr=1; 等价与 double temp; temp=double(1); double & rr=temp;
(2) int *a; int * & p=a; int b=8; p=&b; //正确,指针变量的引用
void & a=3; //不正确,没有变量或对象的类型是void
int & ri=NULL; //不正确,有空指针,无空引用
(3) int & ra=int; //不正确,不能用类型来初始化
int *p=new int; int & r=*p; //正确
(4) 引用不同于一般变量,下面类型声明是非法的:
int &b[3]; //不能建立引用数组
int & *p; //不能建立指向引用的指针
int &&r; //不能建立引用的引用
(5) 当使用&运算符取一个引用的地址时,其值为所引用变量的地址,
2.引用参数
引用的一个重要应用就是作为函数的参数。在使用引用做参数时不必使用*,并且又没有地址与变量本身的差别,从而简化了程序,
3. 引用和指针使用原则
1.在可以用引用的情况下,不要用指针;
2.引用不允许重新赋值.,当使用一个变量指向不同的对象时,必须用指针;
3.引用不允许为空,当存在对象为空时,必须使用指针。

相关文章推荐

【c++笔记十二】面向对象三大特征之《多态》

通过本文你将学会: 1.什么是虚函数和函数重写(注意和函数重载、名字隐藏的区别)。 2.什么是多态,并且怎么去使用多态(一定要体会这种多态表现出来的多样性)。 3.研究了多态是怎样实现,一定要了解虚表...

C++:面向对象的基本特征

面向对象方法首先对需求进行合理分层,然后构建相对独立的业务模块,最后通过整合各模块,达到高内聚、低耦合的效果,从而满足客户要求。具体而言,有三个基本特征:封装、继承和多态。封装:将客观事物抽象成类,每...

c++面向对象三大特征封装、继承和多态知识总结

面向对象三大特征:封装,继承,多态; 一、封装:该公开的就公开话,该私有的就隐藏掉,主要是由public,private实现;作用是便于分工和分模块,防止不必要的扩展; 二、继承:就是一种传承,可以把...

C++面向对象的三个基本特征

面向对象的三个基本特征是:封装、继承、多态。                     &#...

C++ Primer 15.1 面向对象的三个基本特征

本章我们主要学习C++中面向对象的三个基本特征是:封装、继承、多态。 封装 封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。 封装,也就是把客观事物封装成抽象的类,并...

c++基础 之 面向对象特征一 : 继承

面向对象特征分析。。。。

【c++笔记十一】面向对象三大特征之《封装》与《继承》

本文你将学到: 1.认识什么是继承。 2.了解了继承的语法,特别需要三种继承方式的不同。 3.强调了构造函数,析构函数,拷贝构造函数和赋值运算符的调用顺序问题。 4.什么是名字隐藏。 5.多继承以及多...

面向对象的特征

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)