重载构成的条件:函数的参数类型,参数个数不同,才能构成函数的重载

函数重载分为两种情况:

1 .(1)void output();

(2)int output();

2 .(1)void output(int a,int b=5);

(2)int output(int a);

this 指针

1. this指针是一个隐含的指针,指向对象本身,代表对象的地址

2. 一个类所有的对象调用的成员函数都是统一代码段,那么成员函数又是怎末识别属于同一对象的数据成员呢?

---------成员函数除了接受两个实参外,还接受到了一个对象的地址,这个地址被一个隐含的形参this指针获取,它等同于执行this=&pt 。所有对数据成员的访问都隐含地被加上前缀this->

例如

x=0;等价于this->x=0;

#include<iostream.h>
class Point
{
public:
int x;
int y;
Point()
{
x=0;
y=0;
}
//析构函数
~Point()
{
}
//函数的重载,含参,编译器会自动寻找需要的函数自动去匹配
Point(int a,int b )
{
x=a;
y=b;
}
//利用this指针对成员变量进行赋值
//c++提供的隐含指针,指向这个对象本身,指向对象的地址,指针不占用内存,对象占用
void output(int x,int y)
{
this->x=x;
this->y=y;
cout<<x<<endl<<y<<endl;
}

};
void main()
{
Point pt;

pt.output();
}

vc++如何创建程序-函数的重载的更多相关文章

  1. vc++如何创建程序-设置断点-函数的覆盖,c++的多态性

    ---恢复内容开始--- 如何设置断点小笔记 将光标移动到你想设置断点的地方,按一下F9键即可,或者你可以用鼠标左键点击小手图标. CommentOut多行注释 函数的覆盖是在父类与子类之间的,函数的 ...

  2. vc++如何创建程序01

    1 .选择文件+新建(ctrl+N),然后选择一个空的工程,完成 2 然后在选择file新建,在files文件下面选择一个C++Source File,并取个文件名(比如为point可以不带.c) 我 ...

  3. vc++如何创建程序-析构函数01

    #include<iostream.h>class Point{public: int x; int y; Point() { x=0; y=0; }//构造函数是用来创建函数本身,那么, ...

  4. vc++如何创建程序--利用快捷键进行多行注释

    Eclipse同时注释多行①:ctrl+/或 ②:ctrl+shift+/ : Visual studio先按ctrl+k 再按 ctrl+c 2.在VC++6.0中需要自己设置快捷键,设置方法链接如 ...

  5. vc++如何创建程序-构造函数02

    1.若忘记了赋值,出现运行结果是很大的负值(因为我们定义的x与y这两个成员变量存储在内存中是一个随机的值) 当我们调用时,随机输出. //包含输入输出的头文件#include<iostream. ...

  6. vc++如何创建程序-构造函数

    如果给Animal带参,则提示没有缺省的构造函数了,缺省就是不带参数的 改进:从子类当中向基类传递代参的,这样他就会给Animal传递400,300 对一个常量来调用 #include<iost ...

  7. vc++如何创建程序-构造和继承

    #include<iostream.h>//定义一个动物类class Animal{public: void eat();//添加方法 { cout<<"animal ...

  8. 黑马程序员——JAVA基础之函数,重载,内存结构

      ------- android培训.java培训.期待与您交流! ---------- 函数: 什么是函数? • 函数就是定义在类中的具有特定功能的一段独立小程序. • 函数也称为方法. 函数的格 ...

  9. [C++] 用Xcode来写C++程序[5] 函数的重载与模板

    用Xcode来写C++程序[5] 函数的重载与模板 此节包括函数重载,隐式函数重载,函数模板,带参数函数模板 函数的重载 #include <iostream> using namespa ...

随机推荐

  1. python实现RGB转化为灰度图像

    问题: 我正尝试使用matplotlib读取RGB图像并将其转换为灰度.在matlab中,我使用这个: 1 img = rgb2gray(imread('image.png')); 在matplotl ...

  2. Ribbon 负载均衡

    一.是什么 Spring Cloud Ribbon 是基于 Netfix Ribbon 实现的一套客户端(服务的消费者)负载均衡的工具 二.用法 服务消费者工程的 pom.xml 添加如下内容 < ...

  3. java陷阱之spring事物管理导致锁无效

    模拟锁情况无效 1.创建一个表 SET NAMES utf8mb4; ; DROP TABLE IF EXISTS `demo`; CREATE TABLE `demo` ( `id` ) NOT N ...

  4. mdl 锁 SYSTEMTAP跟踪

    systemtap : 各种资源的使用限制由所生成的C代码中的宏来设置.这些值可在编译时由-D选项来重写.下面描述了部分挑选出来的宏: MAXNESTING 递归函数的最大调用层数,默认值是10. M ...

  5. cocos2d-android学习四 ---- 精灵的创建

    上篇文章我们创建了一个黑乎乎的界面.以下我们就给它增加一个精灵. 我们这次就一起来学习精灵的基础知识. 1.什么是精灵 游戏中全部会动的对象都是精灵,能够是主人公,背景元素,一个子弹或者是敌人. 一个 ...

  6. 高效使用hive

    工作中常常使用hive.熟练使用hvie的配置參数能够更加高效的使用Hive Hive option: hive -f   script.hql : 从文件script.hql中的读取hql运行 hi ...

  7. TestNG升级

    TestNG 6.5.1 or above is required,please update your TestNG or uncheck 'Use project TestNG jar' from ...

  8. 【cl】selenium实例2:打开百度,输入hello world

    /*创建的类为junit class*/ package Selenium_lassen; import static org.junit.Assert.*; import java.io.File; ...

  9. SQLServer 多点及时备份技巧

    为了保证数据库的安全性,我们都会规划数据库的容灾策略,包含本地备份.异地备份.raid.或者使用高可用性(如 日志传送.镜像.复制等)进行异地容灾.因为 SqlServer 数据库的备份仅仅有一个备份 ...

  10. luogu1226 取余运算||快速幂

    题目大意:快速求$a^b\mod p$的值. 根据二进制,令$b=\sum t_k\cdot 2^k, t\in \{0,1\}$,那么$$a^b=a^{\sum t_k\cdot 2^k}\mod ...