【C++语言基础(3)-类和对象】教程文章相关的互联网学习教程文章

01. C++基础入门

1. C++初识  1.1 第一个C++程序  1.2 注释  1.3 变量和常量    a. #define 宏常量    b. const 修饰的变量  1.4 关键字  1.5 标识符命名规则    a. 标识符不能是关键字    b. 标识符只能由字母、数字、下划线组成    c. 第一个字符必须为字母或下划线    d. 标识符中字母区分大小写2. 数据类型  2.1 整型    short  int  long  long long  2.2 sizeof关键字    利用sizeof关键...

【C++基础 08】virtual析构函数的作用

在面向对象语言中,接口的多种不同的实现方式即为多态。c++可以使用virtual来实现多态。如果不使用virtual的话,C++对成员函数使用静态联编,而使用virtual,并且在调用函数时是通过指针或引用调用,C++则对成员函数进行动态编联(也就是迟后绑定,运行的时候才确定调用哪个对象)。关于virtual的用法比较简单,不再复述,我们这次来看看virtual析构函数的作用。1.示例我们先来看一段代码:class A { public:~A(){cout<<"~A()";} }...

C++基础知识(二)

八、继承:让某个类的对象获得另一个类的对象的特性。通过继承可实现代码重用,即从已存在的类派生出的一个新类将自动具有原来那个类的特性。 类的继承还具有:(1)单向性;A类为B类的基类(父类),则派生类(子类)B继承了父类A中的属性和方法,在B类中可访问A类的属性和方法,但在父类A中则不能访问子类的任何属性和方法。同时单向又体现为子类B继承了父类A,则A类不能再继承B类。(2)传递性;A类为B类的基类,B类为C类的基类...

第12周 《C++语言基础》程序阅读——多重继承(2)【图】

问题描述:(2)阅读程序,写出执行结果#include <iostream> using namespace std; class A { public:A(char *s){cout<<s<<endl;} }; class B:public A { public:B(char *s1, char *s2):A(s1){cout<<s2<<endl;} }; class C:public A { public:C(char *s1,char *s2):A(s1){cout<<s2<<endl;} }; class D:public B, C { public:D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s3,s4){cout<<s4<<endl;} }; int main() {D d("class...

C++基础

创建: 2020/01/29 输入输出 注释 类 C++与C的对比 函数重载 C++的内置关键词 原文:https://www.cnblogs.com/lancgg/p/12239378.html

基于C++基础对比性学习JAVA笔记【代码】

基于C++基础对比性学习JAVA笔记JAVA万物皆对象类名和文件名必须一致,且区分大小写java中所有的函数都必须写在类中创建对象的写法:Main main = new Main() ;System.out.print("helloworld");相当于printfSystem.out.println("helloworld");相当于printf+自动换行获取输入的写法,相当于scanf// 创建一个对象,接收输入流Scanner scanner = new Scanner(System.in);// 从对象中获取输入的信息//String str = scanner.next();int nu...

C++ 基础 杂类

1、set: 基本上跟map是相同(只有一个键),set是key-value 放在一起,map 是分开的,既然都加key ,所以set<> 的内容不可能有重复的情况出现  example:    set<int> si;    si.insert(1);    si.insert(2);    si.insert(1);    cout << " 1 出现的次数 :" << si.count(1); ----> 1 出现的次数:12、批量修改为当前系统时间命令 touch `find ./* -name ‘*‘`,在编译过程中出现 (has modificat...

C++编程基础一 05-字符【代码】

1// 05-字符.cpp: 定义控制台应用程序的入口点。2//3 4 #include "stdafx.h" 5 #include <iostream>6usingnamespace std;7 8int main()9{ 10//‘‘里的都是字符11char c = ‘a‘; 12char c2 = ‘‘; 13char c3 = ‘2‘; //字符2对应数字214char c4 = ‘\n‘; 1516 cout << c << c2 << endl; 17int a = ‘a‘; //每个字符都对应一个数字。ASCII码表就是用来表示每个字符对应的数字的。18 cout << a << endl; 19 cout <<...

C++学习基础十七-- 函数指针【代码】

C++常用的函数指针语法:返回值类型 (*函数名)(参数列表);举例说明:int (*Func)(int m, int n);用typedef简化函数指针的定义 例如:1 typedef int (*Func)(int m, int n);函数指针的初始化和赋值 1// 1. 先声明对应函数指针类型的函数 2int max(int num1, int num2)3{4return num1 > num2 ? num1 : num2;5}6 7//2. 初始化 8 Func fc = 0;//表示函数指针不指向任何函数 9 Func fp = max;//表示函数指针指向max函数 1011//...

C++基础知识总结----类的进阶知识点【代码】

还是那句话,我们继续在简单的代码中,体会学习C++,本节主要是体会学习类的进阶知识.一.构造函数与析构函数 当创建一个对象时,往往需要做一些初始化工作,例如对数据成员赋值等。为了解决这个问题,C++提供了构造函数。 构造函数(Constructor)是一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户调用(用户也不能调用),而是在创建对象时自动执行。构造函数的作用是在创建对象时进行初始化工作,最常见的就...

C++编写基础Socket【代码】【图】

Scocket的建立的过程就像拨打电话简单来说需要这些步骤一:建立服务端(server)1.创建套接字(socket),和套接字结构体(用于存储IP地址和端口,网络类型等信息)2.将套接字结构体和套接字描述符(socketfd)绑定(bind)在一起3.开始监听(listen)4.开始接收(accept)信息,此时处于阻塞状态,如果没有收到信息将一直阻塞在这里,收到信息则会返回socket的文件描述符。二:建立客户端(client)1.创建套接字(socket),和套接字结构体(用于存储...

[第二章]c++学习笔记1(类和对象的基础2)【图】

类的成员函数可和类的定义分开写 类成员的可访问范围(private,public,protected) 具体使用方法 使用例原文:https://www.cnblogs.com/lamia76/p/12293519.html

【HDU4802】GPA C++语法基础题(真是瞎了)【图】

#include <stdio.h> int main() {puts("转载请注明出处谢谢");puts("http://blog.csdn.net/vmurder/article/details/43449913"); }看题意的时间远比写的时间长?估计是bestcoder某round 的T1?我要写的不是4810么?……题意:多组数据,每组输入n次成绩ci、leveli然后每个leveli都是个字符串,都对应一个分数si,然后照下面式子输出什么?你问我题解?上面的题意就是题解!代码:#include <map> #include <string> #include <cstdi...

C++ 基础问题

1. 虚函数虚函数是在某个基类声明为virtual并在一个或多个派生类中重新定义的成员函数。虚函数是C++多态的基础,通过指向类的指针或引用调用,调用的方式是动态联编,到运行时才确定调用的是该虚函数的哪一个实现。非虚函数是静态联编,在编译时刻系统就能根据指针类型确定调用的函数。虚函数一般会有一个默认实现,还有一种函数叫做纯虚函数,纯虚函数可以只声明不定义,带有纯虚函数的类不能实例化,相当于JAVA中的接口。2. 虚函...

C++基础:内存池【代码】

说真的,这玩意要是想写出一个在效率上高于malloc的,还挺难。。。 list.h 1#pragma once2 3#ifndef __LC_LIST_H4#define __LC_LIST_H5 6namespace LC7{8 9 template<typename T>10class Node final11{12public:13 Node(){}14explicit Node(Node<T>* next, T&& data) noexcept : _data(std::move(data)), _next(next) {}15explicit Node(Node<T>* next, const T& data) noexcept : _data(data), _next(next) {}16explicit N...