Ahoj,
potřebuji aby funkce za svého běhu změnila obsah property komponenty TChart. Jak předám funkci ukazatel nebo referenci na tuto property? jedná se konkrétně o Fmain->Chart1->LeftAxis->Minimum
hu
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Ahoj,
potřebuji aby funkce za svého běhu změnila obsah property komponenty TChart. Jak předám funkci ukazatel nebo referenci na tuto property? jedná se konkrétně o Fmain->Chart1->LeftAxis->Minimum
hu
Lepší asi bude předat funkci Chart1 a až tam přistupovat k té property.
Páč používat odkazy na property by se ti asi nemuselo líbit
class X {
public:
int a;
void f(int b) {
cout << "The value of b is "<< b << endl;
}
};
int main() {
int X::*ptiptr = &X::a;
void (X::* ptfptr) (int) = &X::f;
X xobject;
xobject.*ptiptr = 10;
cout << "The value of pointer is " << xobject.*ptiptr << endl;
cout << "The value of property is " << xobject.a << endl;
(xobject.*ptfptr) (20);
}
Pokud by jsme ale zvolnili pravidla pointerů tak, aby nemusely vždy ukazovat na property tříd:
#include <iostream>
using namespace std;
class Y
{
public:
int o;
};
class X {
public:
int a;
Y objY;
void f(int b) {
cout << "The value of b is "<< b << endl;
}
};
template<class T>
void ok(T *p)
{
*p=88;
}
void ko(int *ptiptr)
{
*ptiptr=78;
}
int main() {
// declare pointer to data member
int X::*ptiptr = &X::a;
// declare a pointer to member function
void (X::* ptfptr) (int) = &X::f;
// create an object of class type X
X xobject;
int *lo = &xobject.a;
*lo=10;
cout << "The value of pointer is " << xobject.a << endl;
ok(&xobject.objY.o);
cout << "The value of pointer is " << xobject.objY.o << endl;
ko(&xobject.objY.o);
cout << "The value of pointer is " <<xobject.objY.o << endl;
// initialize data member
xobject.*ptiptr = 10;
cout << "The value of pointer is " << xobject.*ptiptr << endl;
cout << "The value of property is " << xobject.a << endl;
// call member function
(xobject.*ptfptr) (20);
}
Zjistit počet nových příspěvků
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
































© 2003–2026 Programujte.com