构造函数的含义和作用,复制构造函数
来源:互联网 发布:告白软件生成器 编辑:程序博客网 时间:2024/06/05 23:04
构造函数的作用:在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态。
构造函数的性质:构造函数的函数名与类名相同,没有返回值
一般存放在公有类型中;
例:
class people
{
public:
people(int page,char pname[]); //声明构造函数
private:
int age;
char name[];
};
people::people(int page,char pname[]):age(page),name(pname){}//定义构造函数
复制构造函数 写法:类名(类名 &对象名);
例:
class people
{
public:
people(int page,char pname[]); //声明构造函数
people(people &p); //声明复制构造函数
private:
int age;
string name[];
};
people::people(int page,char pname[]):age(page),name(pname){} //定义构造函数
people::people(people &p) //定义复制构造函数
{
age=p.age;
name[]=p.name[];
}
复制构造函数的调用地点:
1.当用类的一个对象去初始化该类的另一个对象例:
people a(17,Mike);
people b(a);
2.如果函数的形参是类的对象,调用函数时,进行形参和实参结合时
例:
int main()
{
people a(17,MIke);
f(a);
return 0;
}
void f(people j)
{
省略>>>>>>>>>>>>>>>>>
}
3.函数的返回值是类的对象时
类名 函数名(形参)
{
省略》》》》》》》
return 对象名;
}
源文件如下:
#include<iostream>
using namespace std;
class Tree {
public:
int grow(int years);
void age();
Tree(int x)
{
ages = x;
}
Tree(Tree &p);
~Tree() { cout << "析构函数被调用" << endl; }
private:
int ages;
};
Tree::Tree(Tree &p)
{
ages = p.ages;
cout << "复制函数被调用" << endl;
}
int Tree::grow(int years)
{
return ages+ years;
}
void Tree::age()
{
cout << "put tree's year :\n" << grow(2)<<" years"<< endl;
}
int main()
{
Tree Tree1(4);
Tree Tree2 = Tree1;
Tree2.age();
return 0;
}
- 构造函数的含义和作用,复制构造函数
- 构造函数、复制构造函数和析构函数的作用
- 构造函数和复制构造函数
- 复制构造函数和赋值构造函数
- 复制构造函数和赋值构造函数
- 复制构造函数和赋值构造函数
- 复制构造函数和赋值构造函数
- C++的构造函数, 复制构造函数 和operator =
- C++类的构造函数和复制构造函数
- 1.构造函数和复制构造函数相关的初始化
- C++ 类的 复制构造函数 和 赋值构造函数
- 编写继承类的复制构造函数和构造函数
- 类的赋值构造函数和复制构造函数
- 构造函数和复制构造函数的理解与应用
- 构造函数和复制构造函数的调用时机
- C++普通构造函数和复制构造函数的区别
- 构造函数的作用
- 构造函数的作用
- IOS http网络请求
- node.js配置静态服务器
- 语义分割(semantic segmentation) 常用神经网络介绍对比-FCN SegNet U-net DeconvNet
- 什么是值传递和引用传递
- 将本地Jar包安装到maven仓库
- 构造函数的含义和作用,复制构造函数
- VxWorks内核解读-1
- linux下C语言,我的新手学习之路。
- kubernetes和RC定义yaml文件格式
- 简单记录交叉验证(Cross Validation)
- Fragment与ViewPager
- ValueError: compiledir '/home/external/.theano/compiledir_Linux-4.4--generic-x86_64-with-Ubuntu-16.0
- TensorFlow
- V8系统中不同权限的用户有不同的图标功能