C++基础(一)—C与C++一些概念上的异同

1、什么是c++。

c++是c语言的升级版,在c的基础上增加了很多功能。是一种高级语言。

2、什么是面向对象,什么又是面向过程。

c语言就是面向过程的,c++就是面向对象的。

举例:a+b
面向过程:直接计算a+b就是。
面向对象:就是给a+b穿上了一层衣服。不是直接计算a+b。

3、c++的灵魂,c++的类。

是c语言结构体的PLUS。类的成员不仅可以是变量,也可以是函数(结构体里也可以有函数)。
c的结构体:

struct student{
    
    
		char Name[128];/*姓名*/
		int (*studentEat)(struct student *name);/*吃饭函数*/
		int (*studentSleep)(struct student *name);/*睡觉函数*/
};

c++的结构体:

class student
{
    
    
public:
       char name[64];
       char age;
};

5.什么是对象。

对象是类的实例化。

c里面类似的表述就是struct student xiaoming

类:struct student
对象:xiaoming

6.如何定义一个对象。

先定义一个类;

class student
{
    
    
public:
       char name[64];
       char age;
};

方法一:直接定义:

 student my;  // student就是类  my就是对象

方法二:在堆里面定义。

 student *my = new student;

删除对象

 delete my;  目的是释放堆里面的内存

7.怎么访问类的成员

 student my;
    student *my1 = new student;
    my.age = 18;
    my1->age =19;
    
    cout << my.age << endl;
    cout << my1->age << endl;

访问方法和C语言是一样的,普通变量通过. 指针通过->

8.类的函数成员

因为类里面的成员不仅可以是变量,也可以是函数。

第一步:在类里面声明
第二步:实现这个函数。我们可以直接在类里面写,也可以写在类的外面。

(1)直接写在类的里面

class student
{
    
    
public:
       char name[64];
       int age;

       void test(){
    
    
           cout << 123 << endl;
       };
};

(2)写到类的外面

class student
{
    
    
public:
       char name[64];
       int age;

       void test();

};

void student::test(){
    
      //student::表示属于这个类里面的函数,不加的话会被识别成普通函数。
    cout << 123 << endl;
};

访问函数和访问变量是一样的。

9.类的访问修饰符。

类的访问修饰符就是对类的成员进行权限管理。
**public:**表示函数和变量是公开的,任何人都可以访问。

**private:**表示函数和变量只能在自己的类里面自己访问自己,不能通过对象来访问。能不能强行访问?可以的。
**protected:**表示函数和变量只能在自己的类里面自己访问自己,但是可以被派生类来访问的。

class student
{
    
    
public:/*任何人都可以访问*/
       char name[64];
       int age;
private:/*自己访问自己*/
       void test(){
    
    
           cout << 123 << endl;
       };
protected:/*自己访问自己*/+/*派生类访问*/
};

猜你喜欢

转载自blog.csdn.net/weixin_44933419/article/details/114362404