关于c++二级笔试

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:33:24
十月份有二级考试,笔试中关于友元函数和抽象类虚基类的选择题不会,看书上的概念也含含糊糊,弄不明白。我知道这部分不重要,但概念性的选择题总会考两道,我不希望总是瞎猜。
哪位高手能不能指点,用容易理解的方法解释一下友元函数和抽象类虚基类,顺便教我一些句子背上吧。比如:友元函数不是类的成员,不带有this指针。
这类句子多背背在选择时能起作用(书上不全)。
十分感谢

比如说
class test
{
private:
int a;
public:
test():a(0){}
friend void look(test &a);
};

void look(test &t)
{
cout << t.a << endl;
}

上面就是一个简单的友元函数。
一般只有类定义的函数才能访问类中的私有成员a的值。
而友元呢,就是一个可以访问私有成员的非类对象的外部的函数。
所有的类中的定义,除了静态的外都有一个this指针,指向类中的每个一成员和每一个变量。而友元没有this指针。

抽象基类就是
假如有三个类

class one
{
public:
virtual void look()const=0;
};

class two : public one
{
public
void look()
{
}
};

class three : public one
{
public:
void look()
{
}
};

像上面这样。有两个或两个以上的类来同时继承一个类。为了不让两个类中的一些成员冲突。我们就定义了一个抽象基类。抽象基类不能在外部声明和调用。
他只是两个类的共同继承的一个类。

大概就是这样了。如果不明白加我百度HI。我给你好好讲讲

友元就是能访问被声明为友元类的那个类,这样能做到保护代码的私有性。

虚函数,虚基类基本差不多都是为了使用同一函数名时不报错而设置的,在类前或函数前面加上virsual,声明一下。