设为首页 加入收藏

TOP

2.1.2 结构体与类
2013-10-07 15:20:48 来源: 作者: 【 】 浏览:68
Tags:2.1.2 结构

2.1.2  结构体与类

将上面例2-2所示的point结构体定义中的关键字struct换成class,得到如例2-3所示的定义。

例2-3

  1. class point  
  2. {  
  3.      int x;  
  4.      int y;  
  5.      void output()  
  6.      {  
  7.           cout<<x<<endl<<y<<endl;  
  8.      }  
  9. };  

这就是C++(www.cppentry.com)中的类的定义,看起来是不是和结构体的定义很类似?在C++(www.cppentry.com)语言中,结构体是用关键字struct声明的类。类和结构体的定义除了使用关键字"class"和"struct"不同之外,更重要的是在成员的访问控制方面有所差异。结构体默认情况下,其成员是公有(public)的;类默认情况下,其成员是私有(private)的。在一个类当中,公有成员是可以在类的外部进行访问的,而私有成员就只能在类的内部进行访问了。例如,现在设计家庭这样一个类,对于家庭的客厅,可以让家庭成员以外的人访问,我们就可以将客厅设置为public。对于卧室,只有家庭成员才能访问,我们可以将其设置为private。

提示:在定义类时,同样不要忘了在右花括号处加上一个分号(;)。

如果我们编译例2-4所示的程序(EX02.CPP):

例2-4

  1. #include <iostream.h> 
  2. class point  
  3. {  
  4.      int x;  
  5.      int y;  
  6.      void output()  
  7.      {  
  8.           cout<<x<<endl<<y<<endl;  
  9.      }  
  10. };  
  11.  
  12. void main()  
  13. {  
  14.      point pt;  
  15.      pt.x=0;  
  16.      pt.y=0;  
  17.      pt.output();  
  18. }  

将会出现如图2.1所示的错误提示信息,提示我们不能访问类中私有(private)的成员变量和成员函数。
 
(点击查看大图)图2.1  在类的外部访问类中私有成员变量提示出错
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.1.1 结构体的定义 下一篇2.2.3 析构函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: