QT–c++基础上
1.什么是qt
qt是一个跨平台的,c++,图形用户界面,应用程序开发框架
2.c++基础
2.1什么是c++
c++是c语言的升级版,在c的基础上增加了很多功能,是一种高级语言
c语言是面向过程的,c++是面向对象的
2.2c++面向对象
面向对象就是给a+b穿上了一层衣服,不是直接计算a+b
2.3c面向过程
直接计算a+b就是面向过程
2.4c++的类
类类似于c语言结构体的升级版,类的成员不仅可以是变量,也可以是函数
2.5如何定义一个类
class student
{
public:
char name(64);
int age;
};
格式:
class 类名
{
成员变量
};
2.6什么是类
通过类定义出来的变量就是类
换一个说法就是
对象是类的实例化
2.7如何定义一个对象
直接定义:
student my; //student是一个类 //my是一个对象
间接定义:(通过堆分配空间)
student *my = new student;
删除对象:注:只能删除堆定义的对象
student *my = new student; delet my;
2.8怎么访问类的成员
访问方法是和c语言是一样的,普通变量通过.来访问,指针通过->来访问
class student
{
public:
char name(64);
int age;
};
int main()
{
student stu;//直接定义
student *stu1 = new student;//通过指针分配堆空间,创建对象
stu.age=18;//普通变量通过.
stu1->age = 19;//指针通过->
cout << stu.age << endl;//打印
cout << stu1->age << endl;
}
2.9类的函数成员
因为类里面的成员不仅可以是变量,也可以是函数
第一步:在类里面声明
第二步:实现这个函数,我们可以直接在类里面写,也可以在类的外面。
class student { public: char name[64]; int age; void test(){ cout<<123<<endl; }; };
写到类的外面
class student { public: char name[64]; int age; void test(); }; void student::test() //student::表示属于这类里面的函数,不加的话会被识别成普通的函数 { cout<<123<<endl; }
class student { public: char name[64]; int age; void test(); }; void student::test() //student::表示属于这类里面的函数,不加的话会被识别成普通的函数 { cout<<123<<endl; } int main() { my.test(); }
访问变量和访问函数是一样的
2.10类的访问修饰符
类的访问修饰符就是对类的成员进行权限管理
public:表示函数和变量是公开的,任何人都可以访问;
private:表示函数和变量只能在自己的类里面自己访问自己
protected:表示函数和变量只能在自己的类里面自己访问自己,但是可以派生类来访问的
class student
{
public:
char name[64];
int age;
void test();
private:
int haha;
};
void student::test()
//student::表示属于这类里面的函数,不加的话会被识别成普通的函数
{ haha =100;
cout<<haha<<endl;//强行访问私有变量
}
int main()
{
my.test();
//my.haha=12错误的,因为是私有
}
2.能不能强行访问?
可以的