c++面向对象笔记
笔记
哈希表扁豆
此人不懒,但什么都没写
展开
-
C++面向对象 class eight
几种运算符重载输入输出重载加减乘除自加自减++ - -,前缀++ - -对下标运算符重载对强制类型转换重载#include<iostream>#include<string>#include<cmath>using namespace std;class Complex{public: Complex(int _real = 0,int _imag = 0){ real = _real; imag = _imag; } friend.原创 2021-06-07 11:57:18 · 246 阅读 · 0 评论 -
C++面向对象 class seven
多态#include<iostream>//多态要素,一个父类有多个子类,父类子类间有同样的函数,这个同样的函数是虚函数,通过父类的指针或引用实现 using namespace std;//多态:一个信号根据运行主体的不用实现不同的效果 class Shape{//父类指针可以指向子类 ,子类可以给父类,反之不行 public: virtual double getArea(){//虚函数 cout<<"Shape:"<<endl; ret.原创 2021-05-31 11:59:30 · 408 阅读 · 0 评论 -
C++面向对象 class six
多继承,菱形继承,由于似菱形继承产生的ambiguous,虚继承在这里插入代码片#include <iostream>#include <cstring>using namespace std;class Base1{public:// void fun(){// cout<<"This is Base1."<<endl;// } void fun(int a){//不能通过重载(严格与Base2不构成重载.原创 2021-05-24 11:59:54 · 569 阅读 · 0 评论 -
C++面向对象 class five
不同继承方式的效果;构造函数的调用顺序;子类的拷贝构造函数;通过子类调用父类的函数;#include<iostream>#include<cstring>#include<iomanip>#include<cstdlib>using namespace std;class Time{public: Time(){cout<<"Time is constructor."<<endl;} ~Time(.原创 2021-05-20 20:51:25 · 305 阅读 · 0 评论 -
Problem E: 平面上的点和线——Point类、Line类 (VI)
注意因为对象的传递而引起的不必要的输出,使用引用。常对象调用常成员函数,返回值为常量。需要将对象最为返回值时,返回对象的引用比较稳妥。#include<iostream>#include<iomanip>using namespace std;char c;class Point{ public: Point(double _xx ,double _yy) { xx = _xx; yy = _yy; cout<<"Point : .原创 2021-05-17 22:13:47 · 321 阅读 · 0 评论 -
C++面向对象 class four
类的组合,注意对对象成员的初始化要用成员初始化列表。利用拷贝构造函数初始化组合类的时候注意对象成员要有拷贝构造函数,牵扯深拷贝与浅拷贝。深拷贝与浅拷贝区别:主要体现在使用指针时,深拷贝(自己实现)申请新内存,浅拷贝没有申请新内存。C++多文件操作。继承开头。#ifndef COMPUTER_H_INCLUDED#define COMPUTER_H_INCLUDED#include<iostream>#include<cstring>#include<iom.原创 2021-05-11 20:57:13 · 780 阅读 · 0 评论 -
C++面向对象 class three
定义对象时如果没有参数,不需要加括号。关于带默认值的函数:比想象中功能强大,在使用的时候同样可以带参数,但是参数必须是从左向右传递的,这样有时候只需要一个带默认值的构造函数就可以同时实现不带参数(默认)与带参数时的需求,同时也体现了函数重载的意义所在。常成员:作用于对象。静态数据成员:作用于类,这个类的各个对象共享,用于定义类的常数,还可用于这个类产生了多少个对象。静态成员函数:类似于静态成员变量,整个类共享,几个使用注意的点详见代码2。引用的新理解:在传递参数时使用引用不是将对象的所有成员穿了.原创 2021-04-29 21:22:39 · 760 阅读 · 0 评论 -
C++面向对象 class two
c++的动态申请内存:this->name = new char[strlen(name)+1]; //[]里面的是元素数而不是字节数。c++的释放内存:delete[] name;//[]在于告诉delete删除的对象是单个对象还是数组。注意锻炼面向对象的思想。#include <iostream>#include <cstring>#include <cstdio>#include <cmath>using namespace st.原创 2021-04-29 19:58:35 · 200 阅读 · 0 评论 -
C++面向对象 class one
面向对象:封装,继承,多态#include <iostream>using namespace std;class Clock{//类命首字母一般大写public: //Clock(){} 构造函数(Constructor)函数名与类名一样,没有任何返回值类型,定义类时自动调用 //如果定义了构造函数,C++不再自动定义 Clock(){//定义构造函数时,保证有一个能涵盖默认构造函数 hour=minute=0; cout&l.原创 2021-04-25 20:51:12 · 134 阅读 · 0 评论