码迷,mamicode.com
首页 > 编程语言 > 详细

C++中的类

时间:2015-10-19 23:59:44      阅读:492      评论:0      收藏:0      [点我收藏+]

标签:

摘要:在看Qt时,其中:在.cpp的文件(是类的源文件)---实现槽,在.h的文件中声明槽。  于是打算在这篇随笔中尽可能多的通学C++语言中的类。

--------------------------------------------------------------------------------------------------

一. 在《C/C++程序设计》 吴国凤、吴善立主编中10.3节的---类与对象

1.类和对象的定义

1) 类的声明

  实际上类是一种新的数据类型。 它是把数据和作用在这些数据上的操作组合在一起(是进行封装和数据隐藏的基本工具)。

 1 //一个日期类的说明
 2 
 3 class Cdata{
 4     public:    
 5         void SetDate(inty ,intm, int d) 
 6         int IsLeap Year();
 7         void print ();
 8     private:
 9         int year,month,day;
10 
11     protected:
12         ....;
13 
14 };


说明:

  • 类是用户自定义的数据类型,不允许对所定义的数据成员初始化,因为其定以后并没有存储空间。 类中定义的数据和函数称为数据成员和函数成员。
  • 访问控制属性: 默认定义private权限

    公有(public): 声明类的外部接口,即类外部对象可以访问的成员。

    私有(private): 只允许与本类成员函数访问;类外部的任何访问都是非法

    保护(protected):和私有类型相似,其差别在于继承过程中对产生的新类访问权限有所不同

2)对象的定义
 1 #include <iostream>
 2 class rectangle{
 3     private:
 4         int w,h;
 5     public:
 6         void input() {cin>>w,h};
 7         int area() {return h*w};
 8 };
 9 
10 void main(void)
11 {
12     rectangle a,b,c;
13     cout<<"请输入第一个矩形的长和宽: ";
14     a.input();
15     cout<<"请输入第二个矩形的长和宽: ";
16     b.input();
17     cout<<"请输入第三个矩形的长和宽: ";
18     c.input();
19     int sum;
20     sum=a.area()+b.area()+c.area();
21     count<<"三个矩形的面积之和为"sum<<endl;
22 }

 

注意: a.  "."操作符用于对象与成员之间; "::" 操作符用于类与其成员之间;

   b.  类的封装性---对象中的public、protected成员不允许被非成员函数直接访问。

2. 构造函数和析构函数

 1       class Clock
 2         {
 3         public:
 4                   Clock(int NewH, int NewM, int NewS);              //构造函数
 5                   void SetTime(int NewH, int NewM, int NewS);
 6                   void ShowTime();
 7         private:
 8                   int Hour, Minute, Second;
 9         };
10 
11         构造函数的实现:
12 
13         Clock::Clock(int NewH, int NewM, int NewS)
14         {
15                  Hour=NewH;
16                  Minute=NewM;
17                  Second=NewS;
18         }
19 
20         建立对象时构造函数的作用:
21 
22         int main()
23         {
24                 Clock c(0,0,0); //隐含调用构造函数,将初始值作为实参。
25                 c.ShowTime();
26                 return 0;
27         }

 

说明: 构造函数---- 在创建对象时,使用给定的值将对象初始化。   在被创建时系统自动调用的函数。

  • 与类同名的函数成员称为---构造函数,其作用是为对象初始化。
  • 不能指定返回类型(包括void类型)
  • 一个类可以定义多个构造函数,可以带参数也可以不带参数;
  • 如果类中没有构造函数,那么编译器会自动建立一个无参数的构造函数;
  • 对象在创建时构造函数被自动调用

----------------------------析构函数

是对象被释放时,由系统自动调用的函数。   功能---在释放一个对象前,做一系列清理工作。  一般用来做撤销对象进行的清理工作。  如 释放由构造函数分配的内存

 

C++中的类

标签:

原文地址:http://www.cnblogs.com/584709796-qq-com/p/4893432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!