类的概念
1、        类的概念 (P101)
类是把变量定义和函数定义放在一起,即把数据和操作封装在一起,形成新的数据类型。
    类是面向对象开发语言的一个很重要的特征。
定义类的一般格式:
class 类名
{
   private:
         私有的数据成员和函数;(只能由本类中的函数使用,不能被外部程序访问)
   public:
             公有的数据成员和函数;(既能由本类中的函数使用,也能被外部程序访问)
 
};
例题1
#include "stdafx.h"      //这个头文件是应用程序原有的
#include "iostream.h"    //这个头文件是用户自己添加的
{
   public:
       int long1,wide;
       int calarea()
       {
              return long1*wide;
       }
       int calgirth()
       {
       return (long1+wide)*2;
       }
};
int main(int argc, char* argv[])
{
 
       rect rectangle;
    cout<<"请输入矩形的长和宽:";
       cin >> rectangle.long1 >>rectangle.wide;
       cout << "矩形的面积是:"<<rectangle.calarea()<<"\n";
    cout << "矩形的周长是:"<<rectangle.calgirth()<<"\n";
       return 0;
}
 
分析:
1)、在主函数main中, rect rectangle语句相当于定义了一个rect类的对象。类定义后,知识相当于定义了一种新的数据类型,在程序中要定义具体的对象才能使用,rectangle是rect类的具体对象。
在调用对象中的数据成员时,语法规定的格式是:
对象名.数据成员名
调用对象中的函数时,语法规定的格式是:
对象名.成员函数名
2)、输入输出内容
       cin >> rectangle.long1 >>rectangle.wide;
 
   cout << "矩形的周长是:"<<rectangle.calgirth()<<"\n";
 
 
 
 
 
2、        微软库类MFC
微软库类提供中了一组全面的泪,包含了窗口等许多类的定义,各种类的集合构成了一个应用程序的框架结构,使编写windows应用程序变得容易。
MFC命名的惯例是类的名字同事是由C打头,成员变量使用前缀m,接着使用一个字母来指明数据类型,然后是变量的名称,所有的单词用大写字母开头。
例题2 编写windows环境下的应用程序
 
工程3
 
3、        类的继承与派生
   类的成员访问限定标志公有3个:private public和protected,分别是私有的,公有的和受保护的
   类的继承是指在一个已有的类的基础上建立一个新的类,已存在的类即被继承的类称为父类或者是基类,新建立的类则称为派生类或者是子类。
如 基类 鱼
    派生类 墨鱼 带鱼 黄鱼等等
派生类继承了所有基类的数据成员和成员函数,这就给编程带来了极大的方便,执行相同的功能不必反复去定义,一个基类可以派生出很多派生类,每个派生类可以派生出新的派生类,从而形成了继承的层次结构。
声明派生类的一般形式是:
Class 派生类名:【继承方式】基类名
{
派生类新增的成员;
}
 
继承方式仍有3种:private public和protected
继承方式对应的访问权限如下所示
继承方式
基类成员访问权限
派生类访问权限
Public
Public
Public
Protected
Protected
Private
不能访问
Protected
Public
Protected
Protected
Protected
Private
不能访问
Private
Public
Private
Protected
Private
Private
不能访问
 
 
 
例题3
例题1原有的类:
class rect
{
   public:
  int long1,wide;
int calarea()
      {
         return long1*wide;
    }
      int calgirth()
    {
     return (long1+wide)*2;
     }
};
 
在例题1的基础上新增类
Class volume:public rect
{
 Public:
        Int high;
        Int calavol()
          {
           Return long1*wide*high;
}
};
修改主函数main
int main(int argc, char* argv[])
{
 
       volume volu;
    cout<<"请输入长方体的长,宽和高:";
       cin >> volume.long1 >>volu.wide>>volu.high;
       cout << "长方体的底面积是:"<<volu.calarea()<<"\n";
    cout << "长方体的体积是:"<<volu.calavol()<<"\n";
       return 0;
}