zoukankan      html  css  js  c++  java
  • 调用问题

    //派生类中有成员对象,则先调用成员对象的构造函数再调用


    #include<iostream>
    using namespace std;
    //class C; //声明一个还未定义的类供其他函数或者类的方法用作形参或者返回值 但是在这个类未定义前不能创建一个Ha对象更不能直接引用类中的某个成员。
    //类的声明应该有完整的构造函数成员等。如下。上面就单单声明存在一个空类。不可创建对象,比如把class A放到class C之前就会出现错误

    class C
    {
    public:
    C(int){
    cout<<"diao调用C有参构造函数"<<endl;
    }
    C(){
    cout<<"diaowu调用C无参构造函数"<<endl;
    }
    // int max;//后加的
    //private:
    // int value;
    //C *p;

    };

    class A{
    public:
    A(int){
    cout<<"diaoyongyoucan调用A有参构造函数"<<endl;
    }
    A(){
    cout<<"diaoyongwu调用A无参构造函数"<<endl;
    C c;//类可以前向声明,只是前向声明后不能定义对象只能定义指向该类的的指针和引用。//因为定义对象要用到构造函数而并没有声明构造函数,
    }
    };
    class D:public C
    {
    public:
    D(int){
    cout<<"diao调用d有参构造函数"<<endl; //D a3(2);CACD
    }
    D(){
    cout<<"diaowu调用d无参构造函数"<<endl;
    }
    // C one;
    A two;
    };


    class B:public A
    {
    public:
    B(int){
    cout<<"diao调用B有参构造函数"<<endl;
    }
    B(){
    cout<<"diaowu调用B无参构造函数"<<endl;
    }
    };

    int main()
    {
    //A a(2),b[3],*p[4];
    //B a1(2),b1[3],*p1[4];//先调用A的无参再调用B的有参//派生类调用基类为了初始化基类成员,这里基类无成员故调用基类无参构造函数
    //C a2(2),b2[3],*p2[4];

    D a3(2);//b3[3],*p3[4];//程序运行显示CACD,应该是C CA D暂时未找出问题出现在什么地方

    }

  • 相关阅读:
    C# 多线程编程及其几种方式
    多态有几种表现形式
    闭包的理解
    C# 泛型类型约束 where
    HTML扩展--HTMLTestRuner HTML测试报告
    编写web自动化测试
    unittest单元测试框架之认识unittest
    自动化测试模型
    处理HTML5视频播放、滑动解锁
    操作Cookie调用JavaScript
  • 原文地址:https://www.cnblogs.com/dobben/p/7498245.html
Copyright © 2011-2022 走看看