无题
this 和 base 都是 C# 中的关键字,它们的主要区别在于:
this 关键字用于引用当前对象,可以用来访问当前对象的成员变量、成员方法和构造函数等。 this 关键字可以用于区分局部变量和成员变量、调用其他构造函数、实现链式调用等场景。
base 关键字用于引用基类对象,可以用来访问基类的成员变量、成员方法和构造函数等。 base 关键字可以用于在派生类中调用基类的构造函数、访问基类中被隐藏的成员等场景。
以下是一个示例,演示了如何使用 this 和 base 关键字:
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Person(string name, int age)
{
this.Name = name;
this.Age = age;
}
} ...
无题
class Base
{
public: // 公有成员
protected: // 受保护成员
private: // 私有成员
};
# 1.public
public 成员,被称为公有成员,是在类外可以访问的,可以不使用任何成员函数等,来直接调用 public 成员。
# 2.protected
# 3.private
默认情况下,没有特别写访问修饰符的成员变量都是 private
私有成员变量或函数在类的外部是不可访问的,甚至是不可查看的。只有类和友元函数可以访问私有成员。
无题
# 常规转换
# 1. 隐式类型转换
而隐式是编译器自动转换的,一般同一数据类型(如 byte,int,float,double),由低级转为高级为隐式(如 int 转为 float 或 double)
char a ='a';
int x = a;
# 2. 显示类型转换
而高级转为低级为强制类型转换,即显式转换,须用户在代码中写的(如 float 转为 int)。
int a = 10;
double x = (double)a;
# 四种类型转换方式
static_cast
dynamic_cast
const_cast
reinterpret_cast
# static_cast
static_cast 用于显式转换一个表达式的类型。 在将 static_cast 应用于 void* 时,会执行指针的类型转换,将其转换为目标类型指针。
・ 应用场景:
・ 转换数值类型(如 int 转换为 double)
・ 转换指针类型(如将 Base* 转换为 Derived*)
・ 转换引用类型(例如,将 char& 转换为 int&)
# dynamic_cast
dyn ...
无题
参考:
我终于把 C++ 多文件编程理解透彻了_czpcalm 的博客 - CSDN 博客