首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++解惑解决思路

2012-05-21 
C++解惑最近正在看C++。不过有几个问题想请教高手帮我一下。1:C++的命名空间怎么用2:我以前学的c现在看c++之

C++解惑
最近正在看C++。不过有几个问题想请教高手帮我一下。
1:C++的命名空间怎么用
2:我以前学的c现在看c++之后觉得结构体这种数据类型可以在C++中去除。因为类中已经集成了各种基本数据类型。我认为可以代替结构体。而且在类中定义结构体的话,访问结构体中的数据成员时恐怕也不方便。可是我翻了好几本关于C++的书。书中都介绍了结构体这种数据类型。很不解。求指教!!!

[解决办法]
C++兼容了C大部分,所以对结构体也进行了介绍
在纯C++中,struct完全可以替代class
[解决办法]
struct和class的唯一区别就是,class的成员默认是private 而struct默认的是public,不管变量还是函数
C++命名空间主要是为了区分不同代码库中重名的对象,在类定义时前面加个
namespace AAA
{class BBB
{}
}
namespace CCC
{class BBB
{}
}
用的时候,可以 AAA.BBB 和CCC.BBB以区分两个namespace的两个同名类
[解决办法]
刚才说错了,用的时候
是在前面加上
#include ".h"//BBB所在的头文件
using AAA::BBB;
using CCC::BBB;
在程序中就可以用了
AAA::BBB或CCC::BBB
[解决办法]
命名空间主要是解决重名的问题。
至于结构体,struct和class唯一的区别就是默认成员是否是public。C++保留struct,主要是为了与C兼容。
[解决办法]
其实在这的struct已不再是当年的那个c语言中的struct

以前的C中struct只可以放成员变量,没有访问权限限制,外部可以访问;

而现在的C++中struct用法对C中struct进行了扩展,功能与class类似,

可以放成员函数,可以被继承,所有成员数据默认权限为public,struct不可以定义无参的构造函数。

C++中Class默认权限为private,可以定义无参构造函数,struct主要在这些方面与其不同。

[解决办法]
struct除了默认成员访问权限跟class不一样外,跟class差不多。当然也可以定义无参的构造函数。

探讨
其实在这的struct已不再是当年的那个c语言中的struct

以前的C中struct只可以放成员变量,没有访问权限限制,外部可以访问;

而现在的C++中struct用法对C中struct进行了扩展,功能与class类似,

可以放成员函数,可以被继承,所有成员数据默认权限为public,struct不可以定义无参的构造函数。

C++中Class默认权限为private,可以……

[解决办法]
探讨

struct除了默认成员访问权限跟class不一样外,跟class差不多。当然也可以定义无参的构造函数。引用:
其实在这的struct已不再是当年的那个c语言中的struct

以前的C中struct只可以放成员变量,没有访问权限限制,外部可以访问;

而现在的C++中struct用法对C中struct进行了扩展,功能与class类似,

可以放成员函……

[解决办法]
++
探讨

struct和class的唯一区别就是,class的成员默认是private 而struct默认的是public,不管变量还是函数
C++命名空间主要是为了区分不同代码库中重名的对象,在类定义时前面加个
namespace AAA
{class BBB
{}
}
namespace CCC
{class BBB
{}
}
用的时候,可以 AAA.BBB 和CCC.BBB以区分……

[解决办法]
1. 命名空间自己看书 加 动手实践
2. 保留struct除了为了兼容C外, 还一个原因就是当一些数据集合大部分时候你只对它 get set 而不做其他操作时用struct就比class方便, 毕竟C++ class 的get set函数需要自己写

热点排行