C语言的类和对象

上传人:大米 文档编号:478640251 上传时间:2023-01-17 格式:DOCX 页数:12 大小:36.78KB
返回 下载 相关 举报
C语言的类和对象_第1页
第1页 / 共12页
C语言的类和对象_第2页
第2页 / 共12页
C语言的类和对象_第3页
第3页 / 共12页
C语言的类和对象_第4页
第4页 / 共12页
C语言的类和对象_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C语言的类和对象》由会员分享,可在线阅读,更多相关《C语言的类和对象(12页珍藏版)》请在金锄头文库上搜索。

1、C 语言的类和对象【类实现了 C+面向对象程序设计的基础,我们使用类来定义对象的属性,类是 C+封装的基本单元。】一、 类使用关键字class创建类,一个类声明定义了一个连接代码和一个数据的新类型,这 个新的类型又可以用来声明该类的对象。因此,类又是逻辑逻辑抽象概念,儿对象是物理 存在的,也就是说对象是类的实例。类的声明语法上和结构相似。一下是完整的类的形式class class_name private data and functionsaccess_specifier:data and functionsaccess_specifiter:data and functions/.acce

2、ss_specifier:是data and functionsobject_list;其中,object_list是任选项,如过存在,他声明类的对象。access_specifier为下面的 三个关键字之一:Publicprivateprotected默认时,在类声明的函数和数据属于该类私有,只能被该类的成员访问。如果使用, pubilc 访问限定符号,函数和程序就可以被其他部分访问。 Protected 访问限定符,仅在涉 及继承的时候才需要(十五章了解)。访问限定符已经使用,其作用就保持到遇到别的访 问限定符或者达到类声明的结束处。在类声明内可以任意改变访问说明符号,对于某些声明,可以转

3、换位public,然后再 转换成 private。如下所述构造函数和析构函数学习/Using a constructor and destructor.声明 C+ 程序 头文件#include #include #include #include 名字空间:组织大型的程序结构using namespace std;全局变量声明#defineSIZE 1024class employee/private by deaulte/now,private again/back to publicchar nameSIZE; public:void putname(char *n);void getna

4、me(char *n);private:double wage;public:void putwage(double w); double getwage();void employee:putname(char *n) strcpy(name,n);void employee:getname(char *n) strcpy(name,n);void employee:putwage(double w) wage = w;double employee:getwage() return wage;int main() employee ted;char my_name1024 = 0;ted.

5、putname(Yigao Wun);ted.putwage(12000);ted.getname(my_name);cout my_name makes $nn;cout ted.getwage() per year.n;cout employee.wage 名字空间:组织大型的程序结构using n amespace std;class employeepublic:int i,j,n ,m;int ma in()employee em_o ne,em_two;em_o ne.i = 1;em_two.i = 2;em_o ne.j = 3;em_two.j = 4;cout 调试函数n;

6、cout em_o ne.i n;cout em_two.i n;cout em_o ne.j n;cout em_two.j n;system(pause);/*程序的停止按键提示*/return 0; 1一、结构和类之间的关联结构是C子集的一部分,是从C语言中继承过来的。在C+中结构的作用被扩展了,是它称为一个类的代替方法。类和结构的唯一区别在于:默认时,结构的所有成员是公有的,儿类的所有成员是私有的,除此之外结构和类是等价的。也就是说结构定义了一 个类的类型。结构体和类的相互关系/Using a constructor and destructor.声明 C+ 程序 头文件#includ

7、e #include #include #include 名字空间:组织大型的程序结构using namespace std;全局变量声明#define SIZE 1024struct mystrvoid buildstr(char *s); void showstr();/publicprivate:/now go privatechar str255;void mystr:buildstr(char *s) if(!*s) *str = 0; else strcat(str,s);/initalize stringstrcat(str,Yigao Wun);void mystr:shows

8、tr()cout str -联合和类之间的关联有时候我们使用缩写POD来描述C风格的结构体造函数和析构函数POD表示Plain Old Data (及普通老数据)。和结构体一样,联合(union)也可以用来定义类,在C+中联合既包括成员函数,也包含变量,还可以包含构造函数和析构函数。C+的连克包含了 C联合的所有的特性, 其最重要的是数据元素共享内存的相同地址。与结构相似,默认时,联合成员都是公共的 并且完善与C兼容。v下面使用联合交换组成一个无符号的短整型的字节声明 C+ 程序 头文件#include 名字空间:组织大型的程序结构using namespace std;联合体使用举例unio

9、n swap_bytevoid swap();void set_byte(unsigned short i);void show_word();unsigned short u;unsigned char c2;void swap_byte:swap()unsigned char t;t = c0; c0 = c1;c1 = t;void swap_byte:show_word()cout u n;void swap_byte:set_byte(unsigned short i)u = i;int main()swap_byte b;b.set_byte(1); b.swap(); b.sho

10、w_word();system(pause);return 0;【与结构体一样,c + +中的联合声明定义了一种特殊的类。保持了封装原则。】 【与结构一样,术语 POD 一般也适用于不包含成员函数、构造函数和析构函数的联合。】 使用C +联合时遵守以下限制条件:1、联合不能继承任何其他类型的类;2、联合不能是类,不能含有虚成员函数;3、静态变量不能是联合的成员,不能使用引用的成员;4、不能有任何成员的重载,“=”运算符的对象;5、如果一个重载有明确的构造函数和析构函数,不能成为联合的成员。三、匿名联合C+中有一种特殊的联合,成为匿名联合(anonymous)。匿名联合没有类型名称,也不声明这类联合的任何变量。但是匿名联合告诉编译器它的成员变量共享同一内存地址。然而,变量的本身可以直接被引用,无需常规的点运算符语法, 声明 C+ 程序 头文件#include 名字空间:组织大型的程序结构using namespace std;int main()/define anonymous union unionlong l;double d;char arry32;/now,reference union elements directly.l = 10000;cout l n;d = 123.2342;c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 机械/制造/汽车 > 电气技术

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号