我是这样写的
在B.h的 private下 A *a;在B.cpp中a=new B;
其实我想问的是
A中的函数比如 void A::fn()
在B中应该怎么调用呢?
如果没有继承关系的话,调用方法不变
但你必须在B的成员函数中才能调用对象a的成员函数
不能直接写在private或public块,必须写在成员函数里(构造函数或析构函数里面也可以写)
还需要在B中定义或者声明函数fn()吗?
追答应该不用
就是直接调用对象的成员就行,只不过你得在类B的成员函数里调用(在成员函数的内容定义中调用,而不是在声明的时候),跟在全局main函数里调用没啥区别
C++怎么用new创建类对象?
假设类名字为 T 使用语法 :T* object = new T(), 其中括号里可以填写类初始化的参数, 得到的 object 是一个T类型的指针,别忘了用delet object 释放内存。当C++程序用new 分配内存的时候,会比C的malloc 做一些额外的工作,尤其是使得类里面使用的STD标准库类型的变量的到合适的初始化。此外,...
c++中new的用法是什么?
1)new int; \/\/开辟一个存放整数的存储空间,返回一个指向该存储空间的地址。int *a = new int 即为将一个int类型的地址赋值给整型指针a 2)int *a = new int(5) 作用同上,但是同时将整数空间赋值为5 2.开辟数组空间 对于数组进行动态分配的格式为:指针变量名=new 类型名[下标表达式];delete...
c++new的用法
c++new的用法如下:1、开辟单变量地址空间 使用new运算符时必须已知数据类型,new运算符会向系统堆区申请足够的存储空间,如果申请成功,就返回该内存块的首地址,如果申请不成功,则返回零值。new运算符返回的是一个指向所分配类型变量(对象)的指针。对所创建的变量或对象,都是通过该指针来间接操作的...
C++用new创建类对象问题
MyClass *a = new MyClass 这句话的意思是创建一个Myclass类型的指针a,并生成一个MyClass对象,使指针a指向这个对象。 这个对象是匿名对象没有名字。
请问c++怎么用new创建有参数的构造函数的类?
CA *cap = new CA(1); 指针 CA ca(1); 对象
如何申明一个类?如何创建类的对象?
第一步,你必须声明该类类型的一个变量,这个变量没有定义一个对象。实际上,它只是一个能够引用对象的简单变量。第二步,该声明要创建一个对象的实际的物理拷贝,并把对于该对象的引用赋给该变量。这是通过使用new 运算符实现的。new运算符为对象动态分配(即在运行时分配)内存空间,并返回对它的一...
C++语言中,new表示什么的关键字?
new的过程 当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针当然,如果我们创建的是简单类型的变量,那么第二步会被省略假如我们定义了如下一个类A:class A { int i;public:A(int _i) :i(_i*_i) {} void Say() { ...
c++中new用法
new(size_t,void*);void operator delete(void*,void*);提示1:palcement new的主要用途就是反复使用一块较大的动态分配的内存来构造不同类型的对象或者他们的数组。提示2:placement new构造起来的对象或其数组,要显示的调用他们的析构函数来销毁,千万不要使用delete。char* p = new(nothrow)char...
关于C++ 中 new 的使用与重载
然而,C++的new操作具有丰富的拓展性,以提供更大的灵活性。它的基本使用包括创建单个对象和数组对象。对于基本类型,new操作可以生成默认值或用户指定的值;对于类对象,可以调用构造函数。C++中,new操作返回的是具体类型指针,可以利用auto自动识别。数组操作略有复杂,普通对象数组和函数指针数组都有其特定...
C++中怎么用new函数定义一个二维数组?
方法一:使用常量 接上:如果将b指定为一个常量,例如new int[a][5],其实质与new int[a]创建一个动态数组并无多大区别——只是元素类型由int变为了'int[5]'而已。示例代码:void TestFunc_(unsigned int n){ unsigned int i,j;\/\/元素类型为‘int[5]’的数组,可赋值给‘int[5]’类型的...