C++学习Day3

struct 和 class

和c#里不一样,默认public ,相当于 c#public类型的class,c#里struct是值类型
class则默认private

源文件中的函数调用

Point::getX() 代表作用域 Point下的成员函数getX();不同源文件中的类中调用其他类的函数时添加#include<对应的.h>就好了
{

}

构造函数

类名(){}
没有返回值,但是可以有参数,可以重载,程序会在调用类的对象创建时候自动调用,且只会调用一次

析构函数

~类名(){}
没有返回值,不可以有参数,不可以重载,程序会在调用类的对象销毁时候自动调用,且只会调用一次
无参构造函数使用时不要加括号,否则会被当成函数声明,Person p1;//无参调用构造

初始化列表初始化属性

class Person{
Person ():a(10),b(20)
int a;
int b
}
class Person{
Person (int a1,int b1):a(a1),b(b1)
int a;
int b
}

this的使用

this-> 和c#里this.的意义一致

友元

就是c#里全局变量的意思
需要在头文件.h中的这个类的第一行写需要另一个类的友元类或者函数声明,来调用声明位置这个类的私有变量(private属性)
声明示例:
class 需要访问私有属性的类
{
friend 另一个类或者函数;//第一行
}

加号运算符重载

class Person
{
public:
Person operator+(Person &p)
{
里面写重载的内容
}}

继承

  • 公共继承:可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问
    class 子类:public 父类 子类也称为派生类,父类也称为基类
    {}
  • 保护继承 protected 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问
  • 私有继承 pricate 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问. 私有继承之后,子类里的所有变量保护级别都变成private级别,子类的子类访问不到内部的全部内容
    父类中私有内容,子类访问不到
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章