15-struct(构造函数,重载)
必须充分掌握struct的使用,包括其构造和重载函数的写法:
#include <iostream>
using namespace std; struct node {
int x, y;
node(){ }
// node (int x, int y){
// this->x = x;
// this->y = y;
// }
node (int x, int y) : x(x), y(y){ }
node operator + (const node s){
node rt;
rt.x = this->x + s.x;
rt.y = this->y + s.y;
return rt;
}
node operator * (const node s){
node rt;
rt.x = this->x * s.x;
rt.y = this->y * s.y;
return rt;
}
bool operator ==(const node s){
if(s.x == this->x && s.y == this->y){
return 1;
}
else{
return 0;
}
}
bool operator < (const node s){
if(this->x < s.x){
return 1;
}
else{
return 0;
}
}
}; int main(){
node a, b;
a.x = a.y = 1;
b.x = b.y = 3;
a = a + b;
cout << "a: " << a.x << " " << a.y << endl;
node c(1, 3);
cout << "c: " << c.x << " " << c.y << endl;
node d = c;
cout << "d: " << d.x << " " << d.y << endl;
if(d == c){
cout << "d = c" << endl;
}
if(a < c){
cout << "a < c" << endl;
}
else{
cout << "a !< c" << endl;
}
return 0;
}
15-struct(构造函数,重载)的更多相关文章
- 《从零开始学Swift》学习笔记(Day 39)——构造函数重载
原创文章,欢迎转载.转载请注明:关东升的博客 构造函数作为一种特殊方法,也可以重载. Swift中构造函数可以多个,他们参数列表和返回值可以不同,这些构造函数构成重载. 示例代码如下: class ...
- java中,什么是构造函数?什么是构造函数重载?什么是复制构造函数?
当新对象被创建的时候,构造函数会被调用.每一个类都有构造函数.在程序中没有给类提供构造函数的情况下,Java编译器会为这个类创建一个默认的构造函数 Java中构造函数重载和方法重载很相似.可以为一个类 ...
- Java-Runoob-高级教程-实例-方法:15. Java 实例 – 重载(overloading)方法中使用 Varargs
ylbtech-Java-Runoob-高级教程-实例-方法:15. Java 实例 – 重载(overloading)方法中使用 Varargs 1.返回顶部 1. Java 实例 - 重载(ove ...
- java构造函数重载this(true)
看storm的代码的时候,发现这样一句java代码, 很是不理解 google之后,发现原来是java语法中,构造函数重载,this()调用的其实就是 构造函数.This is constructor ...
- 高精度运算略解 在struct中重载运算符
高精度 高精度,即高精度算法,属于处理大数字的数学计算方法.在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字. 重载运算符 运算符重载,就是对已有的运算符重新进行 ...
- 【C++ Primer | 15】构造函数与拷贝控制
合成拷贝控制与继承 #include <iostream> using namespace std; class Base { public: Base() { cout << ...
- C++构造函数重载以及默认参数引起的二义性
大家都知道当我们声明一个类时,系统会提供一个默认构造函数.当我们需要提供参数进行对类数据成员进行初始化时,就需要对类的带参构造函数进行重载.同时,如果我们需要调用默认构造函数进行类数据成员的初始化时, ...
- C++学习笔记15:操作符重载的函数原型列表(推荐)
//普通四则运算 friend A operator +(const A & lhs, const A & rhs); friend A operator -(const A & ...
- C++之构造函数重载
#include<stdio.h> class Test { private: int i; int j; int k; ...
- 15.C++-操作符重载
首先回忆下以前学的函数重载 函数重载 函数重载的本质为相互独立的不同函数 通过函数名和函数参数来确定函数调用 无法直接通过函数名得到重载函数的入口地址 函数重载必然发生在同一个作用域中 类中的函数重载 ...
随机推荐
- Git_学习_07_ 推送修改到远端
一.操作流程 多人协作时,若自己的本地代码有了修改,想提交自己的代码,就需要按照以下步骤操作: 1.确认修改正确 使用以下命令,查看有哪些是自己未提交的代码 git status 2.拉取远程最新代码 ...
- unity3d IO操作
前几天有个朋友问我为什么在IOS平台中可以正常的读写文件可是在Android平台中就无法正常的读写.当时因为在上班所以我没时间来帮他解决,晚上回家后我就拿起安卓手机真机调试很快就定位 ...
- C8051F340 USB Fn hacking
/************************************************************************************ * C8051F340 US ...
- Network Saboteur (深搜递归思想的特殊使用)
个人心得:对于深搜的使用还是不到位,对于递归的含义还是不太清楚!本来想着用深搜构成一个排列,然后从一到n分割成俩个数组,然后后面发现根本实现不了,思路太混乱.后来借鉴了网上的思想,发现用数组来标志,当 ...
- bzoj 3027 [Ceoi2004]Sweet——生成函数
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3027 化式子到 ( \mul_{i=1}^{n}(1-x^(m[i]+1)) ) / (1- ...
- 在系统学习javaEE开发的颠覆者Springboot时遇到的localhost无法访问的问题
就是新建了一个Springboot项目,但是无法正常访问. 关闭防火墙试了,mvn方式启动试了,换端口试了.然后用Tomcat的start.bat测试发现localhost是可以访问的. 上网找到各种 ...
- 一般处理程序+html 的CRUD
using Console_Core.BLL; using Console_Core.Common; using Console_Core.Model; using System; using Sys ...
- Java基础--HashCode
如果一个类的对象要用做hashMap的key,那么一定要注意覆盖该类的equals和hashCode方法. equals()是基类Object的方法,用于判断对象是否有相同地址及是否为同一对象 pub ...
- linux指令 apt-grt指令使用
apt-get 是linux的一条指令,主流的linux版本Debian和ubuntu都使用apt-get来安装软件.那么,需安装的软件都放在哪里呢??? apt-get 利用软件安装源来安装软件,其 ...
- 杂项:C# 方法、属性杂项-01
ylbtech-杂项:C# 方法.属性杂项-01 1. 属性杂项返回顶部 1. public int ReadCnt { get; set; } 2.设置默认值 public int ReadCnt ...