美文网首页
面向对象(C++) 之 封闭类

面向对象(C++) 之 封闭类

作者: commandLDQ | 来源:发表于2016-10-20 11:02 被阅读0次

★封闭类:包含成员对象的类

●封闭类构造函数的初始化列表
定义封闭类的构造函数时,添加初始化列表:
类名::构造函数(参数表):成员变量1(参数表),成员变量2(参数表)...

●调用顺序
当封闭类对象生成的时候,
s1:执行所有成员对象的构造函数
s2:执行封闭类的构造函数

●成员对象的构造函数调用顺序
和成员对象在类中的说明顺序一致
与在成员初始化列表中出现的顺序无关

●当封闭类的对象消亡时,
s1:先执行封闭类的析构函数
s2:执行成员对象的析构函数

规范:
1、出现成员对象时,该类的构造函数要包含对成员的初始化。如果构造函数的成员初始化列表没有对成员对象初始化时,则使用成员对象的缺省构造函数。
2、建立一个类的对象时,应先调用其构造函数。但是如果这个类有成员对象,则要先执行成员对象自己所属类的构造函数,当全部成员对象都执行了自身类的构造函数后,再执行当前类的构造函数。

以下是实例:

#include<iostream>

using std::cout;

using std::cin;

using std::endl;

class CTyre{

  private:

    int radius;

    int width;

  public:

    CTyre(int r,int w):radius(r),width(w){};

    CTyre(){ cout<<"CTyre contructor"<<endl;

    ~CTyre(){ cout<<"CTyre destructor"<<endl;

};



class CEngine{

  public:

    CEngine(){ cout<<"CEngine contructor"<<endl;

    ~CEngine(){ cout<<"CEngine destructor"<<endl;

};

class CCar{

  // 这个类就是所谓的封闭类
  //其中包括成员对象CEngine和CTyre

  private:

    int price;

    CTyre tyre;

    CEngine engine;

  public:

    CCar(int p, int tr,int tw );

};

CCar::CCar(int p, int tr,int tw ):price(p),tyre(tr,tw){};

      int main(){

      int p,tr,tw;

  cout<<"请输入汽车的价格:"<<endl

  cin>>p;

  cout<<"请输入汽车轮胎的半径:"<<endl;

  cin>>tr;

  cout<<"请输入汽车轮胎的厚度:"<<endl;

  sin>>tw;

CCar(p,tr,tw);

return 0;

}

作者:华中师范大学 计算机学院 蒲东齐
文本作者才疏学浅,如有错误,请指正!

相关文章

  • 面向对象(C++) 之 封闭类

    ★封闭类:包含成员对象的类 ●封闭类构造函数的初始化列表定义封闭类的构造函数时,添加初始化列表:类名::构造函数(...

  • C++ — 类 & 对象超详解

    C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ ...

  • CPP基础:面向对象编程

    面向对象编程 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核...

  • cpp面向对象

    面向对象编程 [TOC] 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 ...

  • C++零基础教程之类和对象初识

    C++ 类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核...

  • C++面向对象

    C++类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心...

  • C++ 类 & 对象

    原文地址:C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是...

  • 【C++】C++学习笔记之十一:面向对象——类之间的三种关系

    C++中关于类的两个概念——基于对象和面向对象 基于对象 描述单个类 面向对象 面向对象编程——OOP(Objec...

  • NDK开发—C++面向对象编程(四)

    类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,用户定...

  • 2022-08-01# 面向对象编程

    类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,用户定...

网友评论

      本文标题:面向对象(C++) 之 封闭类

      本文链接:https://www.haomeiwen.com/subject/vtefuttx.html