CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
52 lines
1.2 KiB
C++
52 lines
1.2 KiB
C++
#include "a.h"
|
|
|
|
void A::doSomething(A &anotherA) {
|
|
printf("In A %p doing something with %d.\n", this, m_a_value);
|
|
int tmp_value = anotherA.Value();
|
|
printf("Also have another A at %p: %d.\n", &anotherA, tmp_value); // Break here in doSomething.
|
|
}
|
|
|
|
class Extra
|
|
{
|
|
public:
|
|
Extra (int in_one, int in_two) : m_extra_one(in_one), m_extra_two(in_two) {}
|
|
|
|
private:
|
|
int m_extra_one;
|
|
int m_extra_two;
|
|
};
|
|
|
|
class B : public Extra, public virtual A
|
|
{
|
|
public:
|
|
B (int b_value, int a_value) : Extra(b_value, a_value), A(a_value), m_b_value(b_value) {}
|
|
B (int b_value, int a_value, A *client_A) : Extra(b_value, a_value), A(a_value, client_A), m_b_value(b_value) {}
|
|
|
|
virtual ~B () {}
|
|
|
|
private:
|
|
int m_b_value;
|
|
};
|
|
|
|
static A* my_global_A_ptr;
|
|
|
|
int
|
|
main (int argc, char **argv)
|
|
{
|
|
my_global_A_ptr = new B (100, 200);
|
|
B myB (10, 20, my_global_A_ptr);
|
|
B *second_fake_A_ptr = new B (150, 250);
|
|
B otherB (300, 400, second_fake_A_ptr);
|
|
|
|
myB.doSomething(otherB); // Break here and get real addresses of myB and otherB.
|
|
|
|
A reallyA (500);
|
|
myB.doSomething (reallyA); // Break here and get real address of reallyA.
|
|
|
|
myB.doSomething(*make_anonymous_B());
|
|
|
|
take_A(&myB);
|
|
|
|
return 0;
|
|
}
|