除此之外呢?
追答除此之外,没有如果A类没有explict申明构造函数,B类可能可以发生隐式转换。
比如std::string str = 0; 由于string的构造函数不是explict的,因此0可以隐式转换为string。
但是对于类对象来说,没有见过这种情况,你可以测试一下。
C++中类之间的依赖关系
关系1: 没有关系 两个对象之间如果没有关系,那么它们是孤立的。关系2: 关联关系 (Association)A和B之间是关联关系;C与自己关联 关系3:有方向的关联关系 (DirectedAssociation)关联还可以有方向性的。如下图 这种关系是关联关系的一种。关系4: 聚合关系(Aggregate)聚合关系也是关联关系的一种,这种关...
...我想在A类中调用B类中的成员函数。我在A类中
B类的成员函数可以调用B类中私有,保护,共有的全部函数,不存在权限问题。如果出现编译错误,请调用的B类成员函数是否为静态成员。根据C++的规定,静态成员函数只能调用静态成员变量和静态成员函数。普通函数是无法调用的。
c++中假如有一个类,名为A。那么A* B和 A *B有什么区别。
没有区别,都是定义一个A类指针B。
C++不同类中调用变量的问题
你的void A()不是A类的构造函数所以定义的时候不会让a=8。重新定义一下A类的构造函数就好了,后边没有错误
C++里::是什么意思
一、作用域符号:作用域符号”::“的前面一般是类名称,后面一般是该类的成员名称,C++为例避免不同的类有名称相同的成员而采用作用域的方式进行区分。例如:A,B表示两个类,在A,B中都有成员member。那么:1、A::member就表示类A中的成员member。2、B::member就表示类B中的成员member。二、全局...
C++中的dynamic_cast转换的问题.谢谢指导.
子类对象可以直接强制转换为父类对象的,所以这样没错啊。wiki说的是当两个类型不兼容时,才会抛出异常。但是子类和父类明显是兼容的嘛。并且还有一个有意思的现象,假如你分别定义类A,B,里面都只有一个int变量,你可以将这个变量设为public权限的,以便于修改。那么你可以定义一个A对象,然后定义一个...
【c++】举个例子说明一下为什么继承是为了软件复用
继承的意思就是如果Class A extends Class B 或者Class A implents Interface B, 那么A类就默认从B类那儿继承了公开的方法和成员变量。你要单独理解继承,恐怕不是那么的清晰,需要结合实际的项目,与封装和多态一起,才能有豁然开朗的感觉。继承最直接的意义就是代码的复用和便于扩展。我这里就举个小...
PublicC++
在编程领域,类的成员可以被声明为不同的访问权限,以控制类的外部对成员的访问。在C++中,public访问权限表示类的成员是公开的,可以被类的外部访问。例如,下面的代码定义了一个类A,其中包含两个成员变量a和b。cpp class A{ public:int a;private:int b;};在这个例子中,a是一个public成员,...
C++的类中为什么不全部是PUBLIC
C++是面向对象的语言,而面向对象的基本性质就是封装性、继承性和多态性。封装性是为了保证数据的安全和可用性。比如在RPG游戏中的一个角色类中可能有等级和经验两个数据,如果这两个数据可以随便修改的话那后果是不堪设想的。这时候可以用setExperence()、experenceChange()两个函数来完成等级和经验的...
c++在一个cpp中使用另一个cpp中的类对象?
首先,a是函数one中的局部对象,函数one之外的部分是无法访问a的。你如果 想要访问1.cpp中的a,需要使用全局变量,考虑到编译顺序的问题,你可以这样写:A & Geta(){ static A a;return a;} 在1.h中写这个函数的声明,1.cpp中写这个函数的定义。然后包含1.cpp通过Geta()就可以直接访问a了。