【C++】对象作为函数参数【原创技术】
题目:
对象作为函数参数
l 对象本身做参数(传值),传对象副本
l 对象引用做参数(传地址),传对象本身
l 对象指针做参数(传地址),传对象本身
源代码:
//科目:C++实验4-2
//题目:对象的调用
//作者:武叶
//语言:C++
//创作时间:2012年4月16日
#include < iostream.h>
#include <string.h>
#include < stdlib.h>
class CStrSub
{
char *str;
public:
CStrSub(char *s);
CStrSub(CStrSub &);
~ CStrSub();
void set(char *s);
void show()
{
cout<<str<<endl;
}
};
CStrSub:: CStrSub(char *s)
{
str=new char[strlen(s)+1];
if(!str)
{
cout<<"申请空间失败!"<<endl;
exit(-1);
}
strcpy(str,s);
}
CStrSub:: CStrSub(CStrSub & temp)
{
str=new char[strlen(temp.str)+1];
if(!str)
{
cout<<"申请空间失败!"<<endl;
exit(-1);
}
strcpy(str,temp.str);
}
CStrSub:: ~ CStrSub( )
{
if(str!=NULL) delete [ ]str;
}
void CStrSub::set(char *s)
{
delete [ ]str;
str=new char[strlen(s)+1];
if(!str)
{
cout<<"申请空间失败!"<<endl;
exit(-1);
}
strcpy(str,s);
}
CStrSub input(CStrSub *temp)
{
char s[20];
cout<<"输入字符串:"<<endl;
cin>>s;
temp->set(s);
return *temp;
}
void main()
{
CStrSub a("hello");
a.show( );
CStrSub b=input(&a);
a.show( );
b.show( );
}
更多详细内容:::::去学习
转载于:https://blog.51cto.com/daxiao51/877809
【C++】对象作为函数参数【原创技术】相关推荐
- C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)
C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...
- 对象作为函数参数可能会导致的问题
函数参数是对象发生什么问题: 新手很容易跌倒的坑 function fn(person) {person.age = 26 // 修改了原对象的值person = {name: 'Jhon',age: ...
- 类对象作为函数参数进行值传递
这个是今天踩到的坑,记录一下. 首先先给出几个概念: 1)类对象在创建时会调用构造函数,在释放是会调用析构函数: 2)函数中的局部变量在函数返回后,会由于弹栈从而内存被释放: 3)如果函数参数是采用值 ...
- C++提高部分_C++类模板对象做函数参数---C++语言工作笔记090
然后我们再去看C++的类模板也可以做函数的参数,而且参数方式 可以有3种方式,1.可以指定传入类型,2可以把参数变成模板进行传递, 3.将整个类进行模板化 我们去写个例子去看看 首先我们写一个Pers ...
- 【C++ grammar】对象指针、对象数组、函数参数
目录 1.Object Pointer & Dynamic Object 1. Accessing Object Members via Pointers 2. Creating Dynami ...
- 【Groovy】Groovy 方法调用 ( Java 中函数参数是接口类型 | 函数参数是接口类型 可以 直接传递闭包 )
文章目录 一.Java 中函数参数是接口类型 二.函数参数是接口类型 可以 直接传递闭包 三.完整代码示例 一.Java 中函数参数是接口类型 在 Android 中经常使用如下形式的接口 : 定义一 ...
- C++中函数参数形式的总结
1.普通变量作为函数参数 2.数组作为函数变量 3.指针作为函数参数 #include<iostream> using namespace std; int Order(int *,int ...
- swift函数参数指针传递inout和@escaping冲突的解决方法
这里写目录标题 需求 解决方法 容易产生的问题 总结 今天深入解决关于函数参数指针的问题.问题是这样,我在swift的一个函数里面,参数里需要传递一个指针类型的Int,但是这个函数里面还有一个逃逸闭包 ...
- java.函数参数太多,Java方法参数太多怎么办—Part 2—引入参数对象,javapart
Java方法参数太多怎么办-Part 2-引入参数对象,javapart 目录 自定义类型 引入参数对象 本文是这个系列的第二篇文章,介绍了通过引入参数对象应对参数过多的问题.如果你也希望参与类似的系 ...
- Arguments(函数参数对象)的属性和使用
Arguments(函数参数对象) arguments[ ] 函数参数的数组 Arguments 一个函数的参数和其他属性 Arguments.callee 当前正在运行的函数 Arguments.l ...
最新文章
- 读 MySQL 源码再看 INSERT 加锁流程
- Hello World of OpenCascade
- UITextField实时监听输入文本的变化
- 银联Apple Pay 总结
- MySQL 我们来聊聊 count(*) 语句的优化方式有哪些?
- “三峡水怪”的真面目竟是这个!水怪:我不要面子的吗?
- 打开eclipse报错 Version 1.7.0_80 of JVM is not suitable for this product
- html5 下拉树,HTML5拖拽API实现vue树形拖拽组件
- AD库:如何从立创商城得到自己想要的库
- Mysql授权root账户允许远程连接访问
- 如何去掉now函数时间中的汉字
- 前端 svg 图标的使用
- CUDA C编程(五)并行性的表现以及避免分支分化
- 【Andrioid】(转自stormzhang)Android学习之路
- 结对编程心得---------优秀的队友是成功的一半
- 2022年最新99999套ppt模板汇报工作简历述职总结教学说课件毕业答辩模版设计素材
- 【BI赋能】北大国际医院李黎:打好数据基础功,才能深化医院绩效管理
- 三星Galaxy S9 Plus 国行曝光 跑分高达26.5W
- 好用的三维绘图软件CREO的草绘
- 页面效果简单做(一)
热门文章
- 将某一列转换为字符类型_还在为数据清洗抓狂?这里有一个简单实用的清洗代码集...
- 除了工作怎么交朋友_“四步复盘法”,为你的工作加持!
- golang-go mod版本等相关内容:
- mysql 截取 效率,MySQL 随机函数获取数据速度和效率分析
- tcp连接python_python网络编程--TCP连接的三次握手(三报文握手)与四次挥手
- JAVA主类包涵其他类,Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( )...
- 中指北针怎么画_木工图纸怎么快速看懂?助你看懂施工图的9个技巧
- centos7.6使用Mariadb官方二进制安装
- Second kill system learning
- Kotlint集合简单总结