C++类的六个重要函数
来源:互联网 发布:吾知子之所以距我的之 编辑:程序博客网 时间:2024/05/17 21:58
/*C++类的六个重要函数:
1、构造函数
(1)类型转换
2、拷贝构造函数
(1)用类对象初始化
(2)函数调用时的形参为 类对象
(3)函数返回的时候为类对象
3、赋值函数
(1)用类对象赋值
4、析构函数
5、普通对象的取地址符重载
6、const对象的取地址符重载
1、构造函数
(1)类型转换
2、拷贝构造函数
(1)用类对象初始化
(2)函数调用时的形参为 类对象
(3)函数返回的时候为类对象
3、赋值函数
(1)用类对象赋值
4、析构函数
5、普通对象的取地址符重载
6、const对象的取地址符重载
*/
#include <iostream>using namespace std;class Test{public:/*构造函数 无显式定义调用默认的*/explicit Test(int d = 0)/*必须显式调用*/{cout << "进入默认构造函数:" << this <<endl;data = d;}/*拷贝构造函数 无显式定义调用默认的*/Test(const Test& t){cout << "进入拷贝构造函数:" << this <<endl;data = t.data;}/*赋值函数 无显式定义调用默认的*/Test& operator=(const Test &t){cout << "进入赋值函数:" << this <<endl;if (this != &t){data = t.data;}return *this;}/*1、两个默认的运算符重载之一 普通对象的取地址*/Test* operator&(){cout << "进入地址符的重载:" << this <<endl;return this;}/*2、两个默认的运算符重载之二 const对象的取地址*/const Test* operator&()const{cout << "进入const地址符的重载:" << this <<endl;return this;}~Test(){cout << "进入析构函数:" << this <<endl;}int getdata() {return data;}private:int data;};Test func(Test &t){int Value;Value = t.getdata();return Test(Value);//临时对象,若是对象初始化则直接认为此临时对象就是新创建的对象}int main(){Test t;int i = 0;// cout << "t.data = " << t.getdata() << endl;// // t = (Test)100;/*先调用构造函数转为 类类型 然后再调用赋值函数对对象赋值*/// // Test t2=t;/*用类对象初始化,调用拷贝构造函数*/// Test t3;// // t3 = t2 = t;/*类对象赋值,调用对象赋值函数*/// // cout << "t2.data = " << t2.getdata() << endl;Test t1(100);const Test t2 = t1;Test *p = &t1;const Test *pt = &t2;cout << p->getdata() << endl;return 0;}
1 0
- C++类的六个重要函数
- C++类的六个默认成员函数
- 类的六个默认成员函数
- 一个类的六个默认函数
- 类的六个默认成员函数
- 类的六个默认成员函数
- 敏捷开发的六个重要概念
- c语言编写几个重要的函数
- C重要字符串函数
- Oracle11g六个重要进程
- 浅谈类的六个默认的成员函数
- 详解c++中类的六个默认的成员函数
- 类的六个默认函数及运算符的重载
- 详解c++中类的六个默认的成员函数
- 详解c++中类的六个默认的成员函数
- C++11 类的六个默认函数及其使用
- 类的六个默认成员函数总结(一)
- 类的六个默认成员函数(二)
- android 的 两个不错的网站 (有很多功能 和 特效)
- 一个IT人的职业规划
- perl 写入到压缩文件
- ERstudio导入mysql脚本生成rtf文档
- Coding.net代码托管空间申请与使用
- C++类的六个重要函数
- 北斗七星问题
- 关于数论
- ssh工作原理
- 过滤特殊字符函数
- Failed to parse MySQL config at /usr/bin/pt-config-diff line 2979.
- react学习笔记
- C++单例实现的坑
- 新技能get,在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”