美文网首页
C++ 面向对象

C++ 面向对象

作者: ZoranLee | 来源:发表于2021-03-10 17:06 被阅读0次

C++ 与 C语言 区别

  • C++ 面向对象、标准特性; C 面向过程,函数+结构体
  • C++可以运行C语言,反之就不行
  • 85%用 C++ 去写
1、C语言的标准支持:#include<stdio.h>
2、C++标准支持:#include<iostream>

C++

  • 命名空间 (相当于Java内部类)
using namespacing std; /
  • 前面引入了命名空间,后面可以省略,eg.
std:cout<<"C++语言"<<std:endl;
可以简写为
cout<<"c++语言学习"<<endl
  • endl(换行) 相当于 \n

  • << 是操作符重载,具体实现如下:【不是数学里边的运算】

image.png
cout<<"字符"<<endl;
  • 换行也可以用\n
cout<<"铁头功\n"
      <<"金刚腿\n"
      <<"铁布衫\n";

常量

  • C语言的常量是个假常量,用指针可以改
int main(){
const int number = 100;
int *numP = &number;
*numP = 1000;
printf("%d\n",number);//1000 值已经修改了
return 0;
}
  • C++语言的常量是真常量,不能修改
const int number = 100;
//int *numP = &number; 编译的时候 就会报错
//*numP = 1000;编译的时候 就会报错
printf("%d\n",number);//1000 值已经修改了

引用

  • 互换两个数
    1、指针取地址
void numberChange(int * number1,int * number2){
  int temp = 0;
  temp = * number1;
 *number1 = * number2;
*number2 = temp;
}
int main(){
int number1 = 10;
int number2 = 20;
numberChange(&number1,&number2);
return 0;
}

原理:


image.png

2、C++ 的引用 互换

void numberChange2(int & number1, int & number2){
int temp = 0;
temp = number1;
number1= number2;
number2 = temp;
}
int mian(){
int number1 =10;
int number2 = 20;
numberChange2(number1,number2);
return 0;
}

原理图

image.png

3、常量引用

  • const Student & student
  • 不能修改其中的变量
typedef struct {
  char name[20];
  int age;
}Student;

image.png

4、函数重载

  • C语言不支持函数重载

  • C++ 支持
    using name


    image.png
  • 建造者设计模式

  • 规范写法
    1、要有头文件:.h .hpp ,实现文件:.c .cpp

image.png

2、头文件只写申明不写实现

#include<iostream>
using namespace std;
class Student{
private :
  char * name;
  int age;
public:
  void setAge(int age);//声明函数
  void setName(char *age);
  int getAge();
  char * getName( );//声明函数
}

具体实现

.c .cpp
#include "Student.h" //引入头文件
void Student::setAge(int age){
this->age = age;
}
void Student::setName(char * name){
this->name = name;
}


Student * student1;//栈空间
student1.setAge(99);
student1.setName("lisa");
cout<<"name:"<<student1.getName()<<",age:"<<student1.getAge()<<endl;

//堆空间
Student * student2 = new Student();
student2 ->setAge(80);
student2->setName("lisa");
delete student2;//必须手动释放对象student2
//不能用free(student2)

相关文章

  • CPP基础:面向对象编程

    面向对象编程 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核...

  • C++ — 类 & 对象超详解

    C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ ...

  • 好好干

    C语言面向过程 C++面向对象

  • boolan/C++面向对象高级编程 part3

    C++面向对象高级编程 part3 @(boolan C++)[C++] 概述 面向对象的三种关系 composi...

  • C++零基础教程之类和对象初识

    C++ 类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核...

  • C++面向对象

    C++类和对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心...

  • cpp面向对象

    面向对象编程 [TOC] 类 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 ...

  • C++ 类 & 对象

    原文地址:C++ 类 & 对象 C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是...

  • 类与对象的哲学关系

    从C到C++的发展历程可以全面了解面向过程到面向对象的过程 面向对象的概念: 理解面向对象: ...

  • [GeekBand] C++面向对象程序设计-1

    从基于对象(Object Based)过渡到面向对象(Object Oriented)是 C++ 面向对象程序设计...

网友评论

      本文标题:C++ 面向对象

      本文链接:https://www.haomeiwen.com/subject/djwwqltx.html