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

关于C++构造函数一二

时间:2018-02-22 16:43:52      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:main函数   view   style   public   关于   拷贝构造函数   body   release   data-   

关于构造函数的调用顺序:
1、继承关系
2、从属关系
3、static声明的从属关系

关于拷贝构造函数的声明:
classname(const classname & rhs)

#include <iostream>

using namespace std;

class Component
{
public:
    Component()
    {
        cout << "Component" << endl;
    }

    // 拷贝构造函数的定义。去掉&编译只是,由于传值型传參是调用拷贝构造,而拷贝构造并未定义好
    Component(const Component& rhs)
    {}
};

class Host
{
private:
    Component a;

public:
    static Component sa; // static型成员属性。仅包括声明时不会调用构造函数

public:
    Host()
    {
        cout << "Host" << endl;
    }
};

Component Host::sa; // 包括此句时,此处才是定义。才会调用构造函数,并且先于main函数就已经调用构造函数。

void main() { Host obj; } 打印结果: Component Component Host 第一次Component是static的构造

关于C++构造函数一二

标签:main函数   view   style   public   关于   拷贝构造函数   body   release   data-   

原文地址:https://www.cnblogs.com/zhchoutai/p/8458345.html

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