C++基础(上)
1、什么是c++。
C++是c语言的升级版,在c的基础上增加了很多功能。是一种高级语言。
2、什么是面向对象,什么又是面向过程。
c语言就是面向过程的,c++就是面向对象的。举例: 计算a+b:直接计算a+b就是面向过程;面向对象就是给a+b穿上了一层衣服。不是直接计算a+b。
3、c++的灵魂,c++的类。
“类”大家可以把他看成c语言结构体的升级版。类的成员不仅可以是变量,也可以是函数。
4、如何定义一个类
如:
class student//类,类中的成员可以时变量,也可以是函数
{
public:
char name;
int age;
};
5、什么是对象?
对象是类的实例化。
比如:
student my1;//直接定义的对象,内存自动释放
student *my =new student;//通过堆定义的对象,new为关键字,只能通过指针访问,内存释放需要用delete关键字
直接定义
student my1; //student就是类,那么my1就是对象
在堆里面定义:
student *my = new student;
删除对象:
delete my;
删除对象的意义是为了释放堆里面的内存(只能删除在堆里定义的对象,不能删除直接定义的对象)
6、怎么访问类的成员
- 普通对象通过“.”类访问,比如:my.age
- 指针通过“->”访问,比如:my->age
7、怎么在类里声明函数?
class student//类,类中的成员可以时变量,也可以是函数
{
public:
char name;
int age;
void test();
void test1()//函数可以直接写在类的里面,也可以写在类的外面
{
cout<<123<<endl;
};
private :
int haha;
};
1-7的代码总览
#include <iostream>
using namespace std;
class student//类,类中的成员可以时变量,也可以是函数
{
public:
char name;
int age;
void test();
void test1()//函数可以直接写在类的里面,也可以写在类的外面
{
cout<<123<<endl;
};
private :
int haha;
};
void student ::test()//外面:student::表示属于这个类里面的函数,不加的话被识别成普通函数
{
cout<<123<<endl;
haha=12;//先在类里访问,再在主函数中通过对象访问,称为强行访问
cout<<haha<<endl;
}
int main()
{
student my1;//直接定义的对象,内存自动释放
student *my =new student;//通过堆定义的对象,new为关键字,只能通过指针访问,内存释放需要用delete关键字
my->test();//访问函数和变量一样
cout << "Hello World!" << endl;
//类的访问修饰符
//类的访问修饰符就是对类的成员进行权限管理
//public:表示函数和变量是公开的,任何人都可以访问
//private:表示函数和变量只能在自己的类里面自己访问自己,不能通过对象来访问。但可以强行访问
my->test();//强行访问haha私有变量
//例如my->haha=12;报错
//protected:表示函数和变量只能在自己的类里面自己访问自己,但是可以被派生类来访问的
return 0;
}