0
ほとんど完全に同じクラスと派生クラスを作成しました。 唯一の違いは、派生クラスには2つの異なる関数と3つの余分な変数があることです。私は、継承された機能を使用するには、クラスBから呼び出される関数をしたいが呼ばれる代わりに、クラスBのPrivFunctionsで、機能は私がおよそを考えた派生クラスのメンバ関数を使用する基本クラスから関数を呼び出します。
class A
{
protected:
double x,y,z;
Function() {
*do something using the member variables of class A and the member functions of class A* }
private:
double PrivFunction() {
*take in member variables from A and return a certain value* }
double PrivFunction2() {
*take in member variables from A and return a certain value* }
class B : public A
{
private:
double a,b,c;
double PrivFunction() {
*take in member variables from A,B and return a certain value* }
double PrivFunction2() {
*take in member variables from A,B and return a certain value* }
main() {
B classb();
B.Function()
}
自分のクラス、クラスAのPrivFunctionsを使用していますFunction()内のプライベート関数のアドレスを追加するが、あまりにも遠くにフェッチされているようだ。私は単純なものを見逃しているように感じますが、これをきちんとする方法を見つけることができません。
を、私はあなたが探していると思う[ 'virtual'メンバ関数](http://en.cppreference.com/w/cpp/language/virtual) 。 –