测试C++友元关键字
/************************************************************************/
/* FriendKey.h */
/************************************************************************/
#pragma once
#include <iostream>
class Planet
{
private:
int ID;
//注意此处的构造器是私有的,
//导致Earth类不能实例化其实例,
//而Sphere可以,因为它是友元类。
Planet()
{
ID = 13;
}
friend class Sphere;
public:
void showID(void)
{
std::cout<<"id is "<<ID;
}
};
class Earth : public Planet
{
};
class Sphere : public Planet
{
};
/************************************************************************/
/* FriendKey.cpp : Defines the entry point for the console application. */
/************************************************************************/
//
#include "stdafx.h"
#include "FriendKey.h"
int _tmain (int argc, _TCHAR* argv[])
{
Sphere xxx; //此处工作得很好
xxx.showID();
getchar();
return 0;
}
/************************************************************************/
/* FriendKey.cpp : Defines the entry point for the console application. */
/************************************************************************/
//
#include "stdafx.h"
#include "FriendKey.h"
int _tmain (int argc, _TCHAR* argv[])
{
Earth xxx; //此处工作得很不好,运行会报错,编译能通过。
xxx.showID();
getchar();
return 0;
}
// if there is a class Nothing extended from Earth class, it can be initailized too.
// class Nothing : public Earth
// {
// }
// if class Earth is extended from Planet in this way:
// class Earth : virtual public Planet
// {
// }
// then the class Nothing would not be initialized.
分享到:
相关推荐
### C++友元函数及友元类全总结 #### 一、引言 在C++编程语言中,封装性是一个非常重要的概念。封装使得对象的数据成员(尤其是私有成员)和成员函数得以隐藏,从而提高了代码的安全性和可维护性。然而,在某些...
在这个实例讲解中,我们将深入理解C++友元的概念,并通过实际例子来阐述其应用。 一、友元的概念 友元不是类的成员,但它可以访问类的私有和保护成员。C++中的友元声明有两种形式:友元函数和友元类。友元函数是一...
"C++友元习题.pdf" 本摘要信息涵盖了C++语言中友元函数的使用方法和应用场景,通过三个实例程序,详细说明了友元函数的声明、定义和使用。 知识点1:友元函数的声明和定义 在C++中,友元函数是指在类外部定义的...
本篇将深入探讨“C++友元成员函数”的使用实例。 首先,让我们理解友元函数的基本概念。友元函数不是类的成员,但它被声明为某个类的友元,因此它可以访问该类的所有私有和受保护成员。通常,友元函数定义在类的...
友元函数和友元类的需要:类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员,但是如果将数据成员都定义为公有的,这又...
### C++友元接口详解 在C++编程语言中,友元(Friend)是一个非常重要的概念,它允许非成员函数或类访问另一个类的私有(private)和受保护(protected)成员。本文将深入探讨C++中的友元机制,并通过具体的代码...
主要讲解c++种的友元类友元函数 可以更好地学习其中的内容 友元在类中担任着十分关键的角色 所以更应该认真学习
本示例"Exe7_0友元_C++友元函数编程(两种有友元方式)_cloudzfv_"旨在帮助初学者理解并掌握C++中的友元函数的两种主要用法。现在,我们将详细讨论这两种友元函数的实现方式。 1. **友元函数** 友元函数不是类的...
C++友元类调用实例详解 在 C++ 编程语言中,友元类(Friend Class)是一种特殊的类关系,允许一个类访问另一个类的私有成员和保护成员。本文将详细解释友元类的调用实例,包括友元类的定义、继承关系、成员访问控制...
c++友元函数.doc
### 面向对象C++友元使用 #### 背景与问题描述 本案例涉及到了面向对象编程中的一个重要概念——友元。通过具体的代码示例,我们了解到如何利用友元来访问类中的私有成员。具体而言,案例描述了一个涉及到三个不同...
本篇文章将深入探讨C++友元函数的概念、用途、优缺点以及如何正确使用它们。 首先,友元函数不是类的成员,但可以通过声明为友元来访问类的私有和受保护成员。声明友元的语法是在类的定义中使用`friend`关键字: `...
C++友元函数和友元类的学习心得[归纳].pdf
以下是根据题目内容解析的几个关于C++友元的知识点: 01. 友元函数 友元函数不是类的成员函数,但它可以访问类的私有和受保护成员。在例程中,`add()` 函数被声明为 `Sample` 类的友元,因此它可以访问 `Sample` 类...
C++中的友元函数是一种特殊的功能,它允许非成员函数访问类的私有(private)或保护(protected)成员,打破了封装性原则。这在某些情况下可以提高代码的效率和灵活性,但同时也增加了代码的复杂性和潜在的风险。...
在C++编程语言中,"友元"(friend)是一个重要的特性,用于打破封装的界限,使得类或函数可以访问通常被隐藏的私有(private)或受保护(protected)成员。这一特性在某些特定场景下非常有用,例如实现特定的数据...
1. 友元函数:在C++中,友元函数是一种非成员函数,它可以访问类的私有和保护成员。在题目01中,`add`函数被声明为`Sample`类的友元,允许它直接访问类`Sample`的私有成员`n`,并计算两个`Sample`对象的`n`值之和。...
在C++编程语言中,友元机制是一种打破封装的方式,允许一个类访问另一个类的私有或保护成员。这是为了实现特定的复杂设计或者优化数据访问。以下是对给定题目中涉及的友元相关知识点的详细说明: 1. **友元函数**:...
我们知道,基类的private成员在派生类中不能被访问。那么,友元函数能否继承。(举例说明)
在C++编程语言中,友元机制是一种打破封装的方式,允许一个类访问另一个类的私有或保护成员。这是为了实现特定的复杂设计需求,比如在类之间建立非继承关系的紧密协作。以下是对给定文件中四个示例程序的详细解析: ...