您的位置:首页 > 其它

对象所产生的构造函数,复制构造函数,析构,赋值函数

2014-06-30 20:14 204 查看
#include <iostream>

#include <vector>

using namespace std;

class Foo {

public:

Foo() {

cout << "Foo constructor" << endl;

}

Foo(const Foo&) {

cout << "Foo copy constructor" << endl;

}

Foo& operator= (const Foo&) {

cout << "Foo operator =" << endl;

return *this;

}

~Foo() {

cout << "Foo destructor" << endl;

}

};

int f(Foo) {

return 0;

}

int g(const Foo&) {

return 0;

}

Foo h() {

Foo foo;

return foo;

}

int main(void) {

int i=1;

cout<<i++<<endl;

Foo vf1;

cout<<i++<<endl;

f(vf1);

cout<<i++<<endl;

g(vf1);

cout<<i++<<endl;

Foo vf2 = vf1;

cout<<i++<<endl;

vf2 = h();

cout<<i++<<endl;

Foo *pf = new Foo();

cout<<i++<<endl;

delete pf;

cout<<i++<<endl;

vector<Foo> vecf(3);

cout<<i++<<endl;

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐