C语言的类和对象
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言的类和对象
【类实现了C++面向对象程序设计的基础,我们使用类来定义对象的属性,类是
C++封装的基本单元。】
一、----- 类
使用关键字class创建类,一个类声明定义了一个连接代码和一个数据的新类型,这个新的类型又可以用来声明该类的对象。因此,类又是逻辑逻辑抽象概念,儿对象是物理存在的,也就是说对象是类的实例。
类的声明语法上和结构相似。
[一下是完整的类的形式]
class class_name
{
private data and functions
access_specifier:
data and functions
access_specifiter:
data and functions
//……..
access_specifier:是
data and functions
}object_list;
其中,object_list是任选项,如过存在,他声明类的对象。access_specifier为下面的三个关键字之一:
Public private protected
默认时,在类声明的函数和数据属于该类私有,只能被该类的成员访问。如果使用,pubilc访问限定符号,函数和程序就可以被其他部分访问。Protected访问限定符,仅在涉及继承的时候才需要(十五章了解)。访问限定符已经使用,其作用就保持到遇到别的访问限定符或者达到类声明的结束处。
在类声明内可以任意改变访问说明符号,对于某些声明,可以转换位public,然后再转换成private。
[如下所述]
/*******************************
··构造函数和析构函数学习···
*******************************/
//Using a constructor and destructor.
/*******************************
声明C++ 程序头文件
*******************************/
#include
#include
#include
#include
/*******************************
·名字空间:组织大型的程序结构·
*******************************/
using namespace std;
/*******************************
·····全局变量声明·····
/******************************/
#define SIZE 1024
/******************************* ················
/******************************/
class employee
{
char name[SIZE]; //private by deaulte public:
void putname(char *n);
void getname(char *n);
private:
double wage; //now,private again public:
void putwage(double w); //back to public
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_name[1024] = "\0";
ted.putname("Yigao Wu\n");
ted.putwage(12000);
ted.getname(my_name);
cout << my_name << "makes $\n\n";
cout << ted.getwage() << "per year.\n";
cout << employee.wage << "per year.\n";
system("pause"); /*程序的停止按键提示*/ return 0;
}
【类内频繁使用访问限定符唯一优点是:通过把一个类各个部分可视的组织在一起,
可以使阅读程序者很好的阅读和理解,对于编译器没有什么区别。在类中声明的函数称之
为成员函数。成员函数可以访问类的所属的所有的任何成员(也称为实例变量),类的任
何元素都可被当做该类的成员。】
对于成员也有一些限制,非静态成员变量没有初值,成员不能成为当前正被声明声明
的类的对象(虽然一个成员可以是指向当前正被声明的类的指针)。成员不能声明为auto、extern或register。
可以使一个类的所有数据成员为该类私有,这是实现封装方法的一部分,然而有时候
也需要一个或者是几个为公有的(例如:为了获取较快的执行速度,频繁使用的变量是全
局可访问的)。一旦一个变量变成了公有的,在用户程序的所有的地方都可以访问这个变量,访问公有的数据的成员的语法与调用成员函数的语法是一样“:”指定对象名称,点运
算符和变量名称。
/*******************************
声明C++ 程序头文件
*******************************/
#include
/*******************************
·名字空间:组织大型的程序结构·
*******************************/
using namespace std;
/*******************************
·····
*******************************/
class employee
{
public:
int i,j,n,m;
};
int main()
{
employee em_one,em_two;
em_one.i = 1;
em_two.i = 2;
em_one.j = 3;
em_two.j = 4;