默认拷贝构造
2018-02-11 15:10
134 查看
默认的拷贝构造函数,可以逐个复制非静态成员的值,对其中“逐个复制”的理解
#include<iostream>
using namespace std;
class CStu
{
public:
int b;
char c[4];
CStu()
{
b=12;
c[0]='a';
strcpy_s(c,4,"abc");//直接采用strcpy报错,越界的问题,根据系统的提示来修改成功
}
CStu(const CStu& a)//有拷贝构造函数形式的,先走这一步
{
this->b=a.b;
strcpy_s(this->c,4,a.c);
}
};
int main()
{
CStu st;
cout<<st.b<<" "<<st.c<<endl;
CStu st1=st;//调用拷贝构造函数
cout<<st1.b<<" "<<st.c<<endl;
system("pause");
return 0;
}
#include<iostream>
using namespace std;
class CStu
{
public:
int b;
char c[4];
CStu()
{
b=12;
c[0]='a';
strcpy_s(c,4,"abc");//直接采用strcpy报错,越界的问题,根据系统的提示来修改成功
}
CStu(const CStu& a)//有拷贝构造函数形式的,先走这一步
{
this->b=a.b;
strcpy_s(this->c,4,a.c);
}
};
int main()
{
CStu st;
cout<<st.b<<" "<<st.c<<endl;
CStu st1=st;//调用拷贝构造函数
cout<<st1.b<<" "<<st.c<<endl;
system("pause");
return 0;
}
相关文章推荐
- C++ 类的三种构造函数(默认构造,拷贝构造,赋值构造),在什么情况下会被调用
- Effective C++ (E3 5、6)笔记之禁止默认拷贝构造和赋值重载操作符
- 类 的默认拷贝构造是浅拷贝。 若要深拷贝,则需要自己重写拷贝构造函数。
- [笔试题 1][c/c++]关于默认构造,拷贝构造,重载赋值运算符,隐式转化
- 【C/C++学院】0819-/类的成员函数与const-mutable /构造与析构/拷贝构造deletedefault以及深浅拷贝/静态成员函数成员变量类在内存的存储默认参数/友元类以及友元函数
- 类的默认成员函数,构造函数,拷贝构造,析构函数,赋值运算符重载
- 私有继承于Noncopyable,屏蔽默认拷贝构造与默认复制构造
- C++对拷贝构造及默认成员函数的优化处理
- vector test(4)为什么会调用type的默认构造
- c++ 拷贝构造练习
- Java继承中默认调用父类的无参构造方法的作用
- 编写string类的构造、拷贝构造、析构、拷贝赋值函数
- 第八天2017/04/17(1、拷贝构造、❤临时对象)
- 继承中构造、析构 与 拷贝构造、赋值中的调用区别
- 三大函数:拷贝构造,拷贝赋值,析构函数
- 类的基本成员函数实现(构造,拷贝构造,拷贝赋值,移动构造,移动赋值,析构)
- 《深度探索C++对象模型》读书笔记之构造、析构、拷贝语意学
- object构造、拷贝构造、析构、临时对象
- Swift 中 ViewController 默认构造方法不关联同名的xib文件
- 类构造,析构,赋值,拷贝