zoukankan      html  css  js  c++  java
  • 类的组合

    类的组合:类中的数据成员是另一个类的对象:可以在已抽象的基础上实现更复杂的抽象

    也就是一个类中抱含了另一个类的对象;

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

    类组合的构造函数:不仅要负责对本类中的基本数据类型成员数据赋初值,也要对对象成员赋初值:

     1 #include<iostream>
     2 using namespace std;
     3 class A
     4 {
     5     public:
     6     A(int aa):a(aa)
     7     {}
     8     int a;
     9 };
    10 
    11 class B
    12 {
    13     public:
    14         B(int bb):b(bb)
    15         {}
    16     int b;
    17 };
    18 
    19 class C
    20 {
    21     private:
    22     A a1;
    23     B b1;
    24     int c;
    25     public:
    26         C(int i,int k,int j);
    27         void display()
    28         {
    29         cout<<a1.a<<b1.b<<c<<"
    ";
    30         }
    31 };
    32 C::C(int i,int k,int j):a1(i),b1(k),c(j)//注意类中对象的传参:先是对象初始化,最后才组合类的初始化
    33 {
    34 }
    35 
    36 int main()
    37 {
    38 C c1(1,2,3);
    39 c1.display();
    40 }
    1、构造函数调用顺序:先调用内嵌对象的构造函数(按内嵌时的声明顺序,先声明者先构造)。然后调用本类的构造函数。(析构函数的调用顺序相反
    2、若调用默认构造函数(即无形参的),则内嵌对象的初始化也将调用相应的默认构造函数
     
    注意:在类中只能声明对象,而不能初始化:如A a(5),这种事错误的。
     
     
     
  • 相关阅读:
    Cents 7 Kubernetes
    Docker registry
    centos 7 安装 docker
    ToList()所带来的性能影响
    C#之Linq、where()、FindAll()的区别
    2.2 数据库高速缓冲区
    ORACLE之autotrace使用
    spring.net简介
    初识批处理
    TIBCO Rendezvous — 技术介绍
  • 原文地址:https://www.cnblogs.com/defen/p/5312828.html
Copyright © 2011-2022 走看看