面向对象c++
chen_zan_yu_
同是寒窗苦读,岂能甘拜下风
展开
-
判断点是否在 圆的内部(类与对象)
#include<iostream>using namespace std;class Point{public: void setXY(int x, int y) { m_x = x; m_y = y; } int getX() { return m_x; } int getY() { return m_y; }private: i...原创 2019-03-13 11:17:54 · 1912 阅读 · 0 评论 -
c++---类型转换函数02
double型转换为Complex型#include <iostream>using namespace std;class Complex{public: Complex() { real=0; imag=0; } Complex(double r)//转换构造函数,一个形参 { ...原创 2019-04-24 19:18:46 · 391 阅读 · 0 评论 -
c++---类型转换函数01
Complex类转换为double型Complex类,定义类型转换函数: operator double( ) { return real; }作用:将一个Complex类对象转换为一个double型数据。 其值是Complex类中的数据成员real的值。类型转换函数的一般形式为: operator 类型名( ) ...原创 2019-04-24 20:08:17 · 1065 阅读 · 0 评论 -
c++---运算符重载
设计一个日期类Date,包括年、月、日等私有数据成员。要求:实现日期的基本运算,如一日期加上天数、一日期减去天数、两日期相差的天数等。 要求:使用运算符重载。(为便于计算,我们假设每月的天数都是30天)#include <iostream>#include<algorithm>using namespace std;class Date{public...原创 2019-04-24 23:27:14 · 194 阅读 · 0 评论 -
矩阵相乘
编写一个程序实现矩阵的基本运算(加、减、乘法运算)。(矩阵的维数22)#include <iostream>using namespace std;class pre{public: pre(); void set_a(); void set_b(); void display(); friend pre operator+(p...原创 2019-04-25 14:40:59 · 354 阅读 · 0 评论 -
c++---运用01
complex.h:#ifndef __MYCOMPLEX__#define __MYCOMPLEX__class complex; complex& __doapl (complex* ths, const complex& r);complex& __doami (complex* ths, const complex& r);com...原创 2019-05-08 22:52:08 · 134 阅读 · 0 评论 -
c++---运用02
string.h#ifndef __MYSTRING__#define __MYSTRING__class String{public: String(const char* cstr=0); String(const String& str); ...原创 2019-05-08 22:54:15 · 227 阅读 · 0 评论 -
c++---基类与派生类
#include <iostream>#include <string.h>using namespace std;class people{public: people(string n,int a):name(n),age(a) {} void display() { cout<<"name:"<...原创 2019-05-31 23:08:05 · 165 阅读 · 0 评论 -
c++--拷贝构造/拷贝复制/析构运用
相关代码原创 2019-05-08 23:56:23 · 431 阅读 · 0 评论 -
c++左移/右移重载
左移操作符只能写在全局#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class Complex {public: Complex(int a, int b) { this->a = a; this->b = b; } void printComplex(...原创 2019-04-17 20:59:54 · 604 阅读 · 0 评论 -
判断点是否在圆内(32多文件编写)
Circle.h#pragma once#include "Point.h"class Circle{public: void setXY(int x, int y); void setR(int r); bool judgePoint(Point &p);private: int x0; int y0; int m_r;};Circle.cpp...原创 2019-03-13 11:37:46 · 391 阅读 · 0 评论 -
C++中常见的宏定义(M_PI,M_E~~~)
1.M_PI 是一个宏定义,圆周率的定义#define M_PI 3.14159265358979323846(参考)此宏定义和编译器有关,TC中M_PI宏就定义在<math.h>里面。但vc的<math.h>中没有了M_PI的宏定义。2.M_E 是自然对数的一个宏定义#define M_E2.7182818284590452353...原创 2019-03-25 23:53:11 · 4564 阅读 · 2 评论 -
字定义数组类
MyArray.h#pragma once#include<iostream>using namespace std;class MyArray{public: MyArray(); MyArray(int len); MyArray(const MyArray &another); ~MyArray(); void setDate(int in...原创 2019-03-29 15:49:27 · 371 阅读 · 0 评论 -
delete与free
#include <iostream>#include<algorithm>#include<stdio.h>using namespace std;//c语言中void test1(){ int *p=(int *)malloc(sizeof(int)); *p=10; if(p!=NULL) { ...原创 2019-03-27 16:07:59 · 592 阅读 · 0 评论 -
c++-----友元
不使用友元时#include<iostream>#include<stdio.h>#include<math.h>using namespace std;class Point {public: Point(int x, int y) { this->x = x; this->y = y; } int getX()...原创 2019-04-07 09:59:18 · 102 阅读 · 0 评论 -
c++--操作重载
无操作重载时01:#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class Complex {public: Complex(int a, int b) { this->a = a; this->b = b; } void printComplex() ...原创 2019-04-16 20:25:44 · 209 阅读 · 0 评论 -
c++双目运算符重载
操作符重载写在全局#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class Complex {public: Complex(int a, int b) { this->a = a; this->b = b; } void printComplex() ...原创 2019-04-17 20:06:55 · 2284 阅读 · 0 评论 -
c++单目运算符
操作符重载写在全局#define _CRT_SECURE_NO_WARNINGS#include<iostream>using namespace std;class Complex {public: Complex(int a, int b) { this->a = a; this->b = b; } void printComplex() ...原创 2019-04-17 20:22:43 · 1588 阅读 · 0 评论 -
c++---header(头文件)中的防卫式声明
header(头文件)中的防卫式声明header头文件布局:原创 2019-05-06 23:27:13 · 836 阅读 · 0 评论 -
c++---class的声明(declaration)
class的声明(declaration):原创 2019-05-06 23:30:16 · 2968 阅读 · 0 评论 -
c++---class template(模板简介)
class template(模板简介) :1、在c++Template中非常多地方都用到了typename与class这两个关键字,并且好像能够替换,是不是这两个关键字全然一样呢?答:class用于定义类,在模板引入c++后,最初定义模板的方法为:template,这里class关键字表明T是一个类型。后来为了避免class在这两个地方的使用可能给人带来混淆,所以引入了typename这...原创 2019-05-06 23:39:47 · 3007 阅读 · 0 评论 -
conversion function(转换函数)
#include <iostream>#include<stdio.h>using namespace std;class Fraction{public: Fraction(int num,int den):m_numerator(num),m_denominator(den) {} operator double() const {...原创 2019-05-27 22:23:25 · 474 阅读 · 1 评论 -
c++---把int/double等型转换为类运算
#include <iostream>using namespace std;class Fraction{public: Fraction(int num,int den=1):real(num),imag(den) {} friend Fraction operator+(Fraction f1,Fraction f2) { r...原创 2019-05-27 23:10:21 · 1387 阅读 · 0 评论 -
c++控制台 对齐 域宽
包含在头文件 iomanip设置对齐:cout<<setiosflags(ios::xxx); xxx内填参数 left左对齐 right右对齐设置域宽:cout<<setw(n)<<.....; 设置域宽为n个字符的位置,汉字占两个字符,不足域宽大小则补空格,超过域宽大小则无视此设置 这里一次设置,只使用一次,所以要想连续多个都使用设...原创 2019-05-29 16:22:14 · 848 阅读 · 0 评论 -
c++---域宽/对齐问题
定义描述职工工资的类Laborwage,数据成员包括职工号(No)、姓名(Name)、应发工资(Tsalary)、社保金(Sfund)、实发工资(Rsalary)。定义公有成员函数input,在input函数内输入职工号、姓名、应发工资、社保金,实发工资。根据公式:实发工资=应发工资-社保金计算。定义输出职工工资的函数show,在show函数中,职工号、姓名输出域宽为8、左对齐,其余数据的输出域宽...原创 2019-05-31 23:07:49 · 1877 阅读 · 0 评论 -
类型转换函数
重载函数都使用关键字operator,它的意思是”运算符“。 因此,通常把类型转换函数也称换函数也称为类型转换函数也称为类型转换运算符函数, 也称类型转换运算符重载函数#include <iostream>using namespace std;class Complex{public: Complex() { real=0; ...原创 2019-06-18 22:17:50 · 1567 阅读 · 0 评论 -
转换构造函数
在已定义了相应的转换构造函数情况下,将运算符"+"函数重载为友函数 在进行两个复数相加时,可以用交换律 一般转换构造函数和运算复重载函数一起用#include <iostream>using namespace std;class Complex{public: Complex() { real=0; imag=0; ...原创 2019-06-18 22:47:55 · 259 阅读 · 0 评论 -
C++---四舍五入与保留小数
四舍五入:保留整数 int a = b+0.5; 保留一位小数 int a=(b+0.05)*10; double c=a/10; 保留二位小数 int a=(b+0.005)*100; double c=a/100;(上面的方法仅适用于正数。)如果需要对负数进行转换,可以为这个负数加上一个足够大的正整...原创 2019-06-21 10:00:00 · 5482 阅读 · 4 评论 -
纯虚函数与抽象函数
纯虚函数格式:virtual 函数类型 函数名(参数列表)=0;eg:virtual float area() const {return 0;} 或:virtual float area() const =0;抽象函数定义:如果声明了一类,一般可以用它定义对象,但是在面向对象程序设计中,他们不用生成对象, 定义这些类的唯一目的是用它作为基类去建立派生类。 凡是包含纯虚函数的类...原创 2019-06-18 00:09:05 · 1390 阅读 · 0 评论 -
c++---临时对象
临时对象,就是临时创建一个对象把得到的值放进去,然后执行完这函数后,这函数就消失了,所有不能用reference接收,只能用value接收,eg:inline complex...原创 2019-05-08 00:20:03 · 141 阅读 · 0 评论 -
c++---operatpr pverloading(操作符重载,非成员函数)(无this)
operatpr pverloading(操作符重载,非成员函数)(无this)原创 2019-05-08 00:14:59 · 249 阅读 · 0 评论 -
c++---inline(内联)函数:
inline(内联)函数:一、基本定义 inline是C++语言中的一个关键字,可以用于程序中定义内联函数,inline的引进使内联函数的定义更加简单。说到内联函数,这里给出比较常见的定义,内联函数是C++中的一种特殊函数,它可以像普通函数一样被调用,但是在调用时并不通过函数调用的机制而是通过将函数体直接插入调用处来实现的,这样可以大大减少由函数调用带来的开销,从而提高程序的...原创 2019-05-06 23:52:01 · 1107 阅读 · 0 评论 -
c++--access level(访问级别)
access level(访问级别):在类外不可直接调用private定义的变量原创 2019-05-06 23:55:58 · 1431 阅读 · 0 评论 -
c++---constructor(ctor,构造函数)
constructor(ctor,构造函数) :两种表示方法:原创 2019-05-06 23:57:50 · 1727 阅读 · 0 评论 -
c++---const member functions(常量成员函数)
const member functions(常量成员函数) :声明const对象,则只能由const定于的函数调用pass by value vs.pass by reference (to const) :pass by value vs.pass by reference (to const) :...原创 2019-05-07 00:10:31 · 456 阅读 · 0 评论 -
c++---friend(友元)
friend(友元) :相同class的各个objects互为friends(友元):原创 2019-05-07 00:13:42 · 249 阅读 · 0 评论 -
c++---栈---/-堆---/内存管理
原创 2019-05-09 23:43:25 · 137 阅读 · 0 评论 -
c++---类模板---/函数模板——/其他
原创 2019-05-10 00:28:54 · 147 阅读 · 0 评论 -
c++---reference和value
operator overloading(操作符重载-1,成员函数) thisclass body 外的各种定义(definitions):return by reference(语法分析)用reference接受也就是complex&就收,函数使用一遍后,这函数还存在,如果的value函数就消失了...原创 2019-05-08 00:05:59 · 959 阅读 · 0 评论 -
cin.get()与cin.getline()函数的运用
cin.get();不带参数的get函数 用get函数读入一个字符 用来从指定的输入流中提供是由四个字符,包括空白字符,函数的返回值就是读入的字符 如果遇到流中的文件结束符,则函数返回值EOF;#include <iostream>using namespace std;int main(){ char c; cout<<"enter ...原创 2019-06-18 00:35:13 · 750 阅读 · 0 评论