首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>C语言的结构和C++类的异同

C语言的结构和C++类的异同

2004-03-12 17:24作者:monkeyfu出处:放飞技术网责任编辑:方舟

  像构造枚举和结构一样,类也是一种用户自己构造的数据类型,类是在C++下的,所以类遵循C++的规定。C++中声明的一般形式为:

class 类名 {
            私有数据和函数   /*如果没有使用关键字,则所有成员默认private:为                         private权限*/

            私有数据和函数
     public:
            共有数据和函数
     protected:
            保护数据和函数
};

  私有(Private)成员,只有在类中说明的函数才能访问该类的私有成员,而在该类外的函数不可以访问私有成员;公有(Public)成员,类外面也可访问公有成员,成为该类的接口;还有一种是保护(Protected)成员,这种成员只有该类的派生类可以访问,其余的在这个类外不能访问。

  从上图可以看出,类与结构既有相似又有不同,class似与struct一样是声明一个聚合体,而且类也有数据成员,但是类声明的对象的初始化则与结构大相径庭,(对象的初始化使用构造函数来完成的,构造函数将在后边介绍)结构中没有像类一样的如public这样的权限,结构中是不可以有函数的,而类中可以存在函数。
构造函数:

  *“构造函数”是一个特殊的成员函数,不要把它理解为构造一个函数,在c++中构造函数一般与类的名字相同。

class circle {
private:
    int r;         /*一个圆的搬进是圆的数据成员(圆性质)*/
public:
    circle(int i);
};                /*定义一个圆类*/
include <iostream.h>
circle::circle(int i){      /*"::"是类运算符,只要记住‘.’和‘->’是用于对象的,"::"                   是用于类的成员的*/
 r=i;
}                 /*定义构造函数*/

main(){
 circle(6);           /*初始化了r=6*/
}

  此上为构造函数简单用法。既然说到了构造函数,也就跑不了析构函数。在对象消失时,析构函数将释放由构造函数分配的内存。一般用于类通明的函数名,没有参数,并在函数前面加上“~”号。如:~circle();

  从已有的对象类型出发建立一种新的对象类型,使它继承原对象的特点和功能,这种思想是面向对象设计的主要贡献。

  从一个或多个以前定义的类产生型类的过程称为派生,这个新类又成为派生类。类的继承是指新类从基类那里得到的特征,也就是继承基类的数据和函数。继承和派生类不难理解,在我们生活中继承的例子不胜枚举。

  如:中学生、大学生继承学生的性质;输入输出设备继承输入设备和输出设备的性质和特点。



  可见,类要比结构功能强,性质多,类中存在函数,可以看作是一个活生生的生物,它可以做一系列动作,甚至可以继承;而结构好像是一个“笔记本”,她只记录了物体的一些性质。我作为一个初学者,是以结构为引子,了解了一些c++的类,涉入不深,还请高手多提建议!
共2页。 9 1 2

关注此文的读者还看过:

返回开发频道首页

共2页。 上一页12

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络