1. 类与结构体相同吗?
类与结构体虽然很像,但是并不相同,结构体的成员和成员函数都可以直接被使用,但是类的成员在默认时是私有的,不能被直接访问,但在类的成员函数之前加上 “public”属性之后就可以被直接访问。
2. 什么是类和对象?
类是面向对象程序设计的核心,它实际是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型。类是对某一类对象的抽象;而对象是某一种类的具体化。
3. 成员函数是如何实现的?
(1)在类体内实现:
class Clock
{
private:
int hour;
int minute;
int second;
public:
void show_time(){}
void set_time(int hour; int minute; int second){}
};
(2)在类体外实现:
void Clock::shoe_time()
{
}
void Clock::set_time(int hour;int minute; int second)
{
}
4. this指针指向何处?
this指针指向当前对象,或者说是当前对象的地址。
5. this如何使用?
This指针只能在一个类的成员函数中使用,通过this指针可以访问到类中的数据成员。
6. 类中要有构造函数吗?
对象被创建时,系统自动调用构造函数,构造函数是类中一中特殊的函数成员,主要用来在创建对象时初始化对象的数据成员,通常在构造函数中初始化变量,为设备分配资源等。构造函数的函数名与类相同,没有返回值。如果类中没有定义构造函数,系统会提供一个默认的构造函数。
7. 析构函数被用来干什么?
析构函数主要用于释放资源,当一个对象的生命周期结束前或被delete(堆对象)时,系统将自动调用析构函数。
8. 哪些对象可以调用常量函数?
·非常量对象
·常量对象
·常量函数重载时,常量对象
9.哪些东西可以调用非常量函数?
·非常量对象
·非常量函数重载时,非常量对象
10.如何在常量函数中修改成员数据?
·将this常量指针转换成非常量指针
·修改时间成员的存储类型,允许该数据成员可以在常量函数中被修改